-6
var a={},
b={key:'b'},
c={key:'c'};
a[b]=123;
a[c]=456;
alert(a[b]);
的输出是什么?它是123吗? 456?还是不行?
var a={},
b={key:'b'},
c={key:'c'};
a[b]=123;
a[c]=456;
alert(a[b]);
的输出是什么?它是123吗? 456?还是不行?
您没有任何数组。只有对象和字符串。
属性名称(以方括号表示法)是字符串,所以对象被强制转换为字符串。
您的代码就相当于:
a['[Object object]']=123;
a['[Object object]']=456;
console.log(a['[Object object]']);
所以输出将456
。
即使在OP不知道如何提问的情况下,人们也能理解这个问题,我喜欢它。 – 2015-03-19 12:37:27
您可以简单地在http://jsfiddle.net/上发布您的代码并验证您的自我 – 2015-03-19 12:32:14
您的问题不包含任何数组。 'a','b'和'c'都是对象。 – 2015-03-19 12:33:11
编辑您的问题以包含答案;) – 2015-03-19 12:35:52