2015-03-19 30 views
-6

Javascript如何在数组内存储信息?

var a={}, 
 
    b={key:'b'}, 
 
    c={key:'c'}; 
 
    
 
    
 
    
 
    a[b]=123; 
 
    a[c]=456; 
 
    
 
    alert(a[b]);

的输出是什么?它是123吗? 456?还是不行?

+2

您可以简单地在http://jsfiddle.net/上发布您的代码并验证您的自我 – 2015-03-19 12:32:14

+2

您的问题不包含任何数组。 'a','b'和'c'都是对象。 – 2015-03-19 12:33:11

+0

编辑您的问题以包含答案;) – 2015-03-19 12:35:52

回答

1

您没有任何数组。只有对象和字符串。

属性名称(以方括号表示法)是字符串,所以对象被强制转换为字符串。

您的代码就相当于:

a['[Object object]']=123; 
a['[Object object]']=456; 
console.log(a['[Object object]']); 

所以输出将456

+0

即使在OP不知道如何提问的情况下,人们也能理解这个问题,我喜欢它。 – 2015-03-19 12:37:27