var a = {m:1}; var b = a; a.n = b ={n:1}; console.log(a);console.log(b);

1 var a = {m:1};
2 var b = a; 
3 a.n = b ={n:1}; 
4 console.log(a);
5 console.log(b);

确定b为{n:1},所以a为 {m:1,n:{n:1}}吗?为什么?

问前辈得到的答案:刚开始a对象有一个属性m,等于1,后面的赋值语句给它增加了一个属性n,n是一个对象,这个对象里有一个属性n,等于1,就是这样解释的

原文地址:https://www.cnblogs.com/spynode/p/9917201.html