连续赋值的理解
求表达式的打印:
var a = {n: 1};
var b = a;
a.x = a = {n: 2};
console.log(a.x)
console.log(b.x)
解:
改写如下:
var a = { n : 1};
var b = a;
// . 优先级比 = 的高
a.x;
// 同等级赋值运算从右到左
a = { n: 2 };
b.x = a;
console.log(a.x);
console.log(b.x);
结果:
a = {n: 2}
b = {
n: 1,
x: {
n: 2
}
}

浙公网安备 33010602011771号