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);

 

(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

 

(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属性都自动更新以反应这一变化。

 

注意:

  Javascript使用一个32位整数,保存数组的元素个数。这意味着数组的成员最多只有4294967295个(即2的32次方)。。如果想添加的项数超过这个上限值,就会发生异常,而创建一个初始化大小与这个上限值接近的数组,则可能导致运行时间超长的脚本错误。

 

posted @ 2016-12-19 10:53  忍冬。  阅读(379)  评论(0编辑  收藏  举报