连等的解析

var a = {n:1};  
var b = a; // 持有a,以回查  
a.x = a = {n:2};  
console.log(a.x);// --> undefined  
console.log(b.x);// --> {n:2}

连等时,会先明确所有主语的引用
连续赋值的时候,a.x作为一个指针已经确定,即使右侧先进行了替换a的复制,a.x的主语依然是原来的a,所以之后的b应该是{n:1,x:{n:2}}

【a.x 这里是 {n:1} 的 x 属性】 和 【a】这个变量被同时赋值为 {n:2}

你可能感兴趣的:(连等的解析)