数组的length属性,只是下标数字+1。和数组对象的属性有多少个,方法有多少个没关系。

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.
var a=new Array();
a['a1']=1;
a['a2']=2;
a[2]=3;
你最后给数组元素a[2]赋值了,此时js会给数组a创建一个长度为3的空间,并在第三个元素中赋以3,但是元素1和元素2都没有赋值,所以此时a[0]和a[1]是没有值的,不信用可以alert一下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值