首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

初学者请问一个关于数组的有关问题

2013-10-12 
菜鸟请教一个关于数组的问题function test() {var arr new Array(2)//定义一个长度为2的数组arr[arr.le

菜鸟请教一个关于数组的问题

function test() {
var arr = new Array(2);//定义一个长度为2的数组
arr[arr.length] = 10;//arr.length =2 相当于arr[2] =10
alert(arr[arr.length]);//输出 undefined,为什么?

arr[2] = 1;//对arr[2]赋值
alert(arr[2]);//输出arr[2] =1,为什么?
alert(arr[arr.length]);//输出arr[2] 为undefined,为什么?
}

请问一下为什么会出现这样的结果? javascript 数组 边界
[解决办法]
假设 arr的长度为2 arr.length=2
当你设定arr[2]=10时  arr.length=3
所以arr[arr.length]就是arr[3]了  所以是undefined
第二个问题也是
[解决办法]
1.超出数组界限;数组下标从0开始
2.数组自动扩展长度
3.arr.length =3   !=  arr[2]

热点排行