- 时间:2022-01-17 11:59 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:有趣的JavaScript数组长度问题代码说明
[b]第一点:[/b]
var lennon=Array();
lennon["name"]="windy";
lennon["year"]="1989";
lennon["living"]=true;
alert(lennon.length);
结果:lennon.length 为 0
[img]http://files.jb51.net/upload/201101/20110120231938310.jpg[/img]
原因:
用以下方式增加数组元素,将不改变数组的长度
arr["a"]=3;
[b]第二点:[/b]
var foo2 = [];
foo2['3'] = 3;
foo2['age'] = 20;
debugger;
alert(foo2.length);
[img]http://files.jb51.net/upload/201101/20110120231941251.jpg[/img]
foo2.length又是为4
所有没有赋值的数组对象,都将被定义为undefined
JavaScript可以自动重新调整数组的大小,这种自动调整大小的机制,更容易出现越界数组(out of bounds array),而且更难发现。所以要加倍注意类似的情况。