var a={"a":"a","b":"b"};var b=a;delete a.a;console.log(b);为什么结果是{"b":"b"}
1 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
在 js 中,对象类型的数据是引用类型值。保存在对象变量中的是对象的引用。
引用类型值是保存在堆内存中的对象,引用类型值的变量在栈内存中保存该值的内存地址,从而访问引用类型值。引用类型值是按引用访问的。
当把 a 值赋值给 b 时,b 也只是获得了这个内存地址,即 a 和 b 实际上指向的是同一个内存中的对象。
所以当操作 a 改变了这个对象的值时,变量 b 所指向的对象也会发生变化。
添加回答
举报
0/150
提交
取消