1输出结果:
var a=[];
a['a']=501;
console.log(a['a']);
console.log(a.length);
js数组只支持数组索引;非数组索引指的是对象的属性;
js的数组可以看做是特殊的对象(object),对象的属性有两种表示方法;
如var a=Object();
1.a.myattr="lee";
2.a["myattr"]="lee";
1和2是等价的;
var a=new Array();
a['a1']=1;
a['a2']=2;
a.length //输出0
你没有给数组的元素赋值,所以a数组的长度也没有被创建出来,此时a.length自然是0.
ar a=new Array();
a['a1']=1;
a['a2']=2;
a[2]=3;
你最后给数组元素a[2]赋值了,此时js会给数组a创建一个长度为3的空间,并在第三个元素中赋以3,但是元素1和元素2都没有赋值,所以此时a[0]和a[1]是没有值的,
可以参考这链接的内容: