上图: obj存的是地址,指向堆中的对象那么obj.a如何用栈堆表示呢?最好有图示哈,谢谢!
1 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
在v8里面, 在使用{a: 1}
的时候, 会创建一个隐藏类, 有一个属性a
, 类型为number
, 偏移为0
. 当通过obj.a
获取这个类的实例的a
属性时, 会通过obj
查到堆中的起始地址, 加上偏移就可以获取到obj.a
的地址了. 在古老的浏览器中, 一个object
就是一个单纯的hash table
, 和PHP
很类似.
添加回答
举报
0/150
提交
取消