没有弄清楚load对象是怎么添加到a对象里面去的
大家好,我没有弄清楚这段代码里,load对象是怎么添加到a对象里面去的,希望高手指点一下.
var a = { init: function(){ return 'a'; }},b = a;if(b['load'] == undefined) b['load'] = {};b = b['load'];console.log(a);var a = { init: function(){ return 'a'; }},//上面定义了一个ab = a;//将a赋予b。//你想明白的就是下面这句了//b['load'] == undefined如果b中不存在load,那么b['load']={};你上面的是建了一个空对象。我这里加多了个属性a:'1'if(b['load'] == undefined) b['load'] = {a:'1'};b = b['load'];//又把b['load']指回b了alert(b.a);//因为b['load'] = {a:'1'};所以,这里弹出'1'
[解决办法]
<script type="text/javascript"> var a = {}; var b = a;//相互鬼上身附体 a['c']={}; console.log(b); //Object { c={...}} b['a']={}; console.log(a); //Object { c={...}, a={...}}</script>