一. Array.length在浏览器里的差异
<script type="text/javascript">
var arr=[1,2,3,];
alert(arr.length);
</script>
上段代码语法上是正确的,在IE里弹出4,在Firefox里弹出3,其实际效果如下:
IE:
<script type="text/javascript">
var arr=new Array(4);
arr[0]=1;
arr[1]=2;
arr[2]=3;
alert(arr.length);
</script>
Firefox:
<script type="text/javascript">
var arr=Array(3);
arr[0]=1;
arr[1]=2;
arr[2]=3;
alert(arr.length);
</script>
二.Array的普通属性不计入Array.length;
<script type="text/javascript">
var arr=new Array();
arr[0]="a";
arr[1]="b";
arr[2]="c";
alert(arr.length);
arr["3"]="d";
alert(arr.length);
arr["name"]="goofy"
alert(arr.length)
</script>
上面的代码第1次弹出3,第2次弹出4,第3次还是弹出4;
Array作为数组的特性是索引属性,但作为一个对象,它也可以定义普通属性,这个普通属性是不计入Array.length的,值得注意的是arr["3"]等同于arr[3],这个是计入Array.length里的。
另外:
1.var arr=new Array(1,2,3,)语法上是不正确的;
2.var arr=Array(1,2,3) 直接调用方法也可以返回一个想要的数组;
本文深入解析JavaScript中Array.length在不同浏览器(如IE和Firefox)中的表现差异,以及普通属性如何影响Array.length值。通过实例代码演示,帮助开发者理解Array的正确使用方法,避免常见错误。
865

被折叠的 条评论
为什么被折叠?



