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

JS数组创建与管理
本文介绍了ECMAScript中数组的基本创建方法,包括使用Array构造函数和数组字面量表示法,并详细解释了如何通过索引读取和设置数组元素值,以及如何利用length属性来动态调整数组的长度。

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次方)。。如果想添加的项数超过这个上限值,就会发生异常,而创建一个初始化大小与这个上限值接近的数组,则可能导致运行时间超长的脚本错误。

 

转载于:https://www.cnblogs.com/LinSL/p/6196392.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值