JS高程5.引用类型(2)Array类型

Array类型:

  ECMAScript数组的每一项可以保留任何项目标数量,数组的分寸是可以动态调整的。

 

创办数组的基本形式:

(1)使用Array构造函数

1 var color=new Array();

注意:

  给构造函数传递一个值时,假诺传递的是数值,则会听从该数值创造包含给定项数的数组;倘诺传递的是另外项目标参数,则会创立包含那些值的唯有一项的数组。

eg:

1 var color=new Array(3);//创建一个包含3项的数组
2     var name=new Array("Mary");//创建包含一项,即字符串“Mary”的数组

 

动用Array构造函数也得以省略new操作符:

eg:

1 var name=Array("Mary");//创建包含一项,即字符串“Mary”的数组
2     alert(name);

ECMAScript 1

 

(2)使用数组字面量表示法:

eg:

1 var color=["red","blue","green"];
2     var names=[];//创建一个空数组
3     var values=[1,2,];//不要这样,会创建包含2项或是3项的数组
4     var opyions=[,,,,,];//不要这样,会创建包含5项或是6项的数组

注意:

  (1)如上例子中的第三行,在IE中,values会成为一个涵盖3个项且每一项的值分别是1,2和undefined的数组,在其他浏览器中,values会成为一个带有2项的数组,值分别是1和2。原因是IE8及往日的版本中的ECMAScript实现数组字面量方面存在bug。

 

  (2)与对象一样,使用数组字面量表示法,也不会调用Array构造函数。(Firefox3及更早的版本除外。)

 

  (3)在读取和安装的值时,要运用方括号提供相应值的基于0的数值索引。

eg:

 

1  var color=["red","blue","green"];
2     alert(color[0]);//显示第1项
3     color[2]="black";//修改第3项
4     color[3]="browm";//新增第4项

 

 

  (4)数组的项数保存在其length属性中,这些特性始终会重临0或是更大的数,它不是只读的,由此可以透过安装这多少个特性,从数组的尾声移除项或是向数组中添加项。

eg:

1 var colors=["red","blue","pink"];
2     alert(colors.length);//3
3     colors.length=2;
4     alert(colors[2]);
5     alert(colors.length);//2

 ECMAScript 2

ECMAScript 3

ECMAScript 4

(4)能够动用length属性在数组末添加新项:

eg:

1 var colors=["red"];
2     colors[colors.length]="black";
3     colors[colors.length]="pink";
4     alert(colors.length);//3
5     alert(colors[2]);//pink

  由于数组最终一项的目录始终是length,由此下一新项的职务就是length。每当在数组末尾填加一项后,其length属性都自动更新以影响这一转变。

 

ECMAScript,注意:

  Javascript使用一个32位整数,保存数组的元素个数。这意味数组的成员最四只有4294967295个(即2的32次方)。。假诺想添加的项数超越这一个上限值,就会发出特别,而创制一个初叶化大小与那个上限值接近的数组,则可能引致运行时刻超长的脚本错误。