JS数组下标的总结

JS数组下标的总结

关于JS数组下标的总结:

总则:数组下标值范围为0232次方,如果不在此范围内,js会将它转换为一个字符串,作为对象属性的名称。

举例:

var jsArr = new Array();

jsArr[0] = "数组元素1";

jsArr[1] = "数组元素2";

jsArr["abc"] = "对象属性的名称,其值为abc";

jsArr[-1] = "对象属性的名称";

jsArr[2] = "数组元素3";

jsArr['3'] = "数组元素4";

document.write(jsArr.length + '
');

for(i = 0; i < jsArr.length; i++) {

document.write(jsArr[i] + ' ');

}

document.write('
');

document.write(jsArr['abc'] + '
');

document.write(jsArr['3'] + '<0br>');

document.write(jsArr[-1] + '
');

document.write(jsArr + '
');

上面的输出结果为:

4
数组元素1 数组元素2 数组元素3 数组元素4
对象属性的名称,其值为abc
数组元素4
对象属性的名称
数组元素1,数组元素2,数组元素3,数组元素4

可以看到,不在0232次方范围内的下标都不能作为数组的下标来用。

还是用上页面的jsArr来举例:

for(var p in jsArr) {

document.write(jsArr[p]+" ");

}

这是采用遍历JS对象的方法,它将jsArr的属性对应的值逐一输出,结果为:

数组元素1 数组元素2 对象属性的名称,其值为abc 对象属性的名称 数组元素3 数组元素4

 

还需要注意的一点是JS数组的长度问题,JS数组的长度并不是按照给定的元素个数来计算的,它是按照JS数组最大下标值来计算的,例如:

var arr = new Array();

arr[0] = '1';

arr[9] = '2';

alert(arr.length);


 
可以看到结果是10,因为这个数组的最大下标为9,根据数组的下标从0开始计算,得出这个JS数组的长度为10

<>

 

你可能感兴趣的:(JavaScript)