说一下JavaScript的连等赋值,遇到的坑,例如1
2
3
4
5var a = {n:1};
var b = a; // 持有a,以回查
a.x = a = {n:2};
alert(a.x);// --> undefined
alert(b.x);// --> {n:2}
我的思路出发点
1.运算符优先级来考虑,.运算优先于=赋值运算
2.右结合性
1 | var a = {n:1}; /*定义a,赋值为{n:1},假设指向存储地址为add_1*/ |
说一下JavaScript的连等赋值,遇到的坑,例如1
2
3
4
5var a = {n:1};
var b = a; // 持有a,以回查
a.x = a = {n:2};
alert(a.x);// --> undefined
alert(b.x);// --> {n:2}
我的思路出发点
1.运算符优先级来考虑,.运算优先于=赋值运算
2.右结合性
1 | var a = {n:1}; /*定义a,赋值为{n:1},假设指向存储地址为add_1*/ |