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