【Web前端问题】js 连续赋值

    var a = {n: 1}

var b = a;

a=a.x={n:2};

// a.x=a={n:2};

a.y={n:3};

a.z=a={n:4};

console.log(a); //{n:4}

console.log(a.x); //undefined

console.log(b); //{

// n:1,

// x:{

// n:2,

// y:{

// n:3

// },

// z:{

// n:4

// }

// }

//}

console.log(b.y); //undefined

可以解释下为什么b的结果是上面显示?

回答:

相似问题:javascript 连等赋值问题

回答:

图片描述

大致可以用这张图片描述这个过程,注意 b 始终是保存着“最大”的那个对象

回答:

简单来说,a=a.x这一句给a重新赋值了,它自然就跟之前的a完全不一样了

以上是 【Web前端问题】js 连续赋值 的全部内容, 来源链接: utcz.com/a/140678.html

回到顶部