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,就是这样解释的