杂症转载
原创题目1:
var a = {n: 1}; var b = a; a.x = a = {n: 2};
console.log(a.x)
console.log(b.x)
a.x // --> undefined
b.x // --> {n: 2}
解析:
- 1,优先。、优先事项。
.
优先级高于优先级高于优先级高于=
所以首先执行所以首先执行所以首先执行a.x
堆内存的堆内存的堆内存{n: 1}
就会变成{n: 1, x: undefined}
变更后对应的变更后对应的变更后对应的b.x
也会更改,因为它指向相同的对象。 - 2赋值运算是赋值运算,赋值运算是
从右到左
所以首先执行所以首先执行所以首先执行a = {n: 2}
,a
引用被更改,然后将此返回值分配给a.x
重要的是要注意,在这个时候,重要的是要注意,在这个时候,应该注意到,在这个时候a.x
是世界的第一步是世界的第一步{n: 1, x: undefined}
那个对象,事实上是那个对象,事实上是那个对象,实际上是b.x
,相当于b.x = {n: 2}
转载于:https://www.cnblogs.com/anbozhu7/p/11270250.html
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
上一篇:image转载 下一篇:div水平垂直居中转载