JavaScript极简入门教程(三):数组

阅读本文需要有其他语言的编程经验。

在 JavaScript 中数组是对象(而非线性分配的内存)。

通过数组 literal 来创建数组:


var empty = [];

var numbers = [

    'zero', 'one', 'two', 'three', 'four',

    'five', 'six', 'seven', 'eight', 'nine'

];

empty[1] // undefined

numbers[1] // 'one'

empty.length // 0

numbers.length // 10

数组有一个属性 length(而对象没有)表示数组的长度。length 的值为数组的最大整数属性名加 1:


var myArray = [];

myArray.length; // 0

myArray[1000000] = true;

myArray.length; // 1000001

我们可以直接修改 length:

length 被改大不会导致分配更多的空间
length 被改小,所有下标大于或等于 length 的属性被删除
由于数组也是对象,因此可以用 delete 来删除数组中的元素:


delete number[2];

number[2] === undefined;

这样删除数组中的元素将留下一个空洞。

JavaScript 提供了一套数组的方法,这些方法被放在 Array.prototype 中(这里就不详细介绍了)。