var a = {n:1}
var b = a;
a.x = a = {n:2}
console.log(a.x);//undefined
console.log(b.x);//{n:1,x:{n:2}
a.x和b.x的结果为什么会这样?
问题出在a.x = a = {n:2}
,
a.x = a = {n:2}
//等同于
a.x = {n:2}
a = {n:2}
//并非等同于
a = {n:2}
a.x = a
var a = {n:1}
var b = a;
a.x = a = {n:2}
console.log(a.x);//undefined
console.log(b.x);//{n:1,x:{n:2}
a.x和b.x的结果为什么会这样?
问题出在a.x = a = {n:2}
,
a.x = a = {n:2}
//等同于
a.x = {n:2}
a = {n:2}
//并非等同于
a = {n:2}
a.x = a