var a={};
b={key:'b'}
c={key:'c'}
a[b]=123;
a[c]=456;
console.log(a[b]); //456
js在设置对象属性的时候,会暗中字符串化参数值,在这里,由于b和c都是对象,把它们设置为对象a的参数,它们都将被转换为“[object,object”,结果就是,a[b]和a[c]都相当“[object,object]”,而后者会将前者的值覆盖。
因此,设置或引用a[b]和a[c]完全相同;
网友评论