JavaScript中,数组的定义有两种方法,第一种是使用Array构造函数,第二种是使用数组字面量表示法。
一、Array构造函数:
var colors = new Array("white" ,"blue" ,"green");//创建一个包含三个字符串值的数组
console.log(colors);
结果如下:
注意:使用Array的时候可以省略new字符:
var colors = Array("white" ,"blue" ,"green");
console.log(colors);
结果不变:二、数组字面量表示法:
var color = ["white" ,"blue" , "green"];
console.log(color);
结果和Array构造方法是一样的。
注意:使用数组字面量表示法在某些情况下是有问题的:
var color = ["red" ,"blue" ,"green" ];
var names = [];
var values = [1 ,2 ,];
var options = [,,,,,];
在IE8及之前的版本中,values会成为一个含3项,每项的值分别为1,2和undefined的数组;在其他浏览器中,values会成为一个包含2项,每项值分别为1,2的数组。原因是IE8及之前版本的ECMAScript实现在数组字面量方面存在BUG,这种BUG另外一种情况会导致例子中的options创建包含5项的数组(在Chrome,Opera,Safari,Firefox中),也可能会创建一个包含6项的数组(在IE8及更早版本中)。这个结果与Array构造函数时传递在逻辑上是相同的。但是由于IE8与其它浏览器不一致,因此最好不要使用这种方法。
三、数组的设置和增加
JavaScript中,数组的设置和增加表示方式是相同的,即:
var color = ["white" ,"blue" , "green"];
console.log(color[2]);
color[2] = "red";//修改一个数组中的值
console.log(color[2]);
color[4] = "yellow";//增加一个数组的值
console.log(color);
结果如下: