var a = {
n: 1
};
var b = a;
a.x = a = {
n: 2
};
console.log(a.x);
console.log(b);
注意.x的优先级,开辟出{n:2}
的堆空间,a.x指向这个新的堆空间
然后a的指针改变,指向新的堆空间
所以a.x
为undefined, b指向原来的堆空间
注意.x的优先级,开辟出{n:2}
的堆空间,a.x指向这个新的堆空间
然后a的指针改变,指向新的堆空间
所以a.x
为undefined, b指向原来的堆空间