Sivo 悉见

js数组数字下标和非数字下标的区别

匿名 · 更新于 2015/02/04 02:49:38

在Js中声明一个数组,为其增加元素,默认下标是从0开始递增的,在我的记忆中似乎从来没有用非数字做过js数组的下标,久而久之,觉得js数组是无法使用非数字做为下标的,直到今天才发现,我又一次自以为是了。

因为在js中,数组也是一个对象,所以它包含了Object的所有属性及方法,下边的代码是正确的

var   arr = new  Array();
arr.name = 'sky';

所以我们既可以通过数组自己的方法为数组增加元素,也可以通过对象的方法为数组增加元素

arr[0] = 123;
arr['age'] = 28;
arr.sex = '男';

但是数字下标和非数字下标有一个明显的区别,那就是使用length方法仅可以获取到数组以数字为下标的元素的个数,如执行下方代码

var arr = new Array();
arr[0] = 123;
arr['age'] = 28;
arr.sex  = '男';
arr[1] = 456;
arr[2] = 789;
alert(arr.length);

弹出的结果为3