版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明
这道JS的题目,考查的是对javascript中对象的理解
问了一些群里的朋友,有些人认为最终输絀的是 小王 小王
在这个程序的执行过程中javascript解释器到底对这些代码做了什么呢?
(抛开预解析不说显然这道题跟预解析是没有关系的)
- 艏先是在内存中创建了变量a的存储空间,假设其栈区存储的地址是0x123456
- 然后将其地址传给了变量b
- 随后呢又将新的对象字面量传给了变量a
- 这时,内存中发生了一些变化b依旧指向a,但此时b指向并不是第4步最新赋值的a而是被赋值前的a
- 这里可以用一张图去说明一下
- 此时的内存结构應该就是这样子的,因此最后输出的结果应该是:
(以上是我个人理解如有不当,请多指点谢谢)