var a={},
b={key:'b'},
c={key:'c'};
a[b]=123;
a[c]=456;
alert(a[b]);
输出是什么?是123吗? 456?或者它不起作用?
答案 0 :(得分:1)
你那里没有任何阵列。只有对象和字符串。
属性名称(方括号表示法)是字符串,因此对象被强制转换为字符串。
您的代码相当于:
a['[Object object]']=123;
a['[Object object]']=456;
console.log(a['[Object object]']);
因此输出将为456
。