阅读本文需要有其他语言的编程经验。
在 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 中(这里就不详细介绍了)。