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

posted @ 2018-11-06 18:57  I小小白  阅读(1024)  评论(0编辑  收藏  举报