连续赋值的理解

求表达式的打印:

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
  }
}







posted @ 2022-05-07 09:22  下一秒钟已经不同  阅读(27)  评论(0编辑  收藏  举报