数组长度

课后整理 2020-12-10

每个数组都有一个length属性,该属性返回数组的最大长度,即其值等于最大下标值加1。由于数组下标必须小于232-1,所以length属性最大值等于232-1。

【示例1】下面代码定义了一个空数组,然后为下标等于100的元素赋值,则length属性返回101。因此,length属性不能体现数组元素的实际个数。

var a = [];                                                 //声明空数组 
a[100] =2;
console.log(a.length);                                //返回101

length属性可读可写,是一个动态属性。length属性值也会随数组元素的变化而自动更新。同时,如果重置length属性值,也将影响数组的元素,具体说明如下:

【示例2】下面代码演示了length属性值动态变化,对数组的影响。

var a = [1,2,3];                                         //声明数组直接量 
a.length = 5;                                             //增长数组长度 
console.log(a[4]);                                      //返回undefined,说明该元素还没有被赋值 
a.length = 2;                                             //缩短数组长度 
console.log(a[2]);                                      //返回undefined,说明该元素的值已经丢失