1,介绍
ECMAScript数组的每一项可以保存任何类型的数据。而且ECMAScript数组的大小是可以动态调整的,即可以随着数据的添加自动增长以容纳新数据。
2,创建方式
- 使用new构造函数
- 在使用Array构造函数时可以省略new操作符。
- 若预先知道元素数量,可将该数量作为参数传递给构造函数,而该数量会自动变成length属性的值,
var colors = new Array(20); //属性length 为20
- 也可向构造函数传递元素,以下代码创建了一个包含3个字符串的数组。
var colors = new Array("red","blue","green");
- 给构造函数传递一个值也可以创建数组,若传递的是数值,则创建长度为该数值的数组,若传递的其他类型的参数,则创建该参数包含的值为元素的数组。
- 使用数组字面量表示法。
- 与对象一样,使用数组字面量表示法时,也不会调用Array构造方法。
3,length属性
Array的length属性不是只读的,通过设置这个属性,可以从数组的末尾移出项或添加新项。
var colors = [“red”,”blue”,”green”]; // 包含3个字符串的数组 colors[colors.length] = “black”; // 在位置3添加一种颜色 colors[colors.length] = “brown”; // 在位置4添加一种颜色 colors[99] = “orange”; // 在位置99添加一种颜色 alert(colors.length); // 值为100
- 数组最多可以包含4294 967 295个项,如果项数超过这个上限值,就会发生异常,而创建一个初始大小与这个上限值接近的数组,则可能导致运行时间超长的脚本错误。
4,检测数组
- 对于一个网页或者一个全局作用域二千,使用instanceof操作符就能得到满意的结果。
- 若网页中包含多个框架,那实际上就存在两个以上不同的全局执行环境,如果将数组从一个框架传到另一个框架,那么数组在两个框架中分别具有各自不同的构造函数,所以,ECMAScript 5新增了Array.isArray()方法来去低挡某个值是否为数组,而不用管它在那个全局执行环境创建的。
5,方法
- 关于Array的方法详情,请参看我的下一篇JavaScript学习-Array的方法