Javascript中, Array 也是Object, 但有的人可能会误认为,形如a['key'] 的访问是Array的功能,其实不是。
如下例中,Array 赋值后,其length属性仍然为0,因为数据并没有被放到数组的位置中,而是被放到了Array的原形对象Object中。
var a = new Array();
a['one'] = 1;
a['two'] = 2;
a['three'] = 3;
alert(a.length);
另一个要点:
javascript实例化对象时,可以用形如{key:value}的方式来制造对象。其中key可以是直接量也可以是字符串,下例中,a1和a2内容完全等同。
要注意的是a1或a2的var1并不会被换为'pm'.
var var1 = 'pm'; var a1 = {var1:'test is ok',var2:'here'}; alert(a1.var1);
var a2 = {var1:'test is ok','var2':'here'};
alert(a2.var1);