您的位置:首页 > Web前端 > JavaScript

JavaScript程序开发(十一)—js语法之数据类型

2012-05-31 07:09 671 查看
Array类型

ECMAScript中,Array应该是仅次于Object的了。js中的Array类型和其他语言的Array的不同是js中的数组的每一项可以保存任何类型的数据,而且数组的大小是可以动态调整的,可以随着数据的增加自动增长以容纳新增数据。

ECMAScript有两种创建数组的方式。第一种是使用构造函数的方式,如下代码实例:

var arr = new Array();


像这种方式创建的数组,如果预先知道数组要保存的项目数量,也可以给构造函数传递参数,指定相应的项目数量,这样每一项的初始值都是undefined。如下代码实例:

var arr = new Array(20);


同样在使用构造函数方式创建数组的时候,如果知道要保存的每一个具体的项,也可以将具体的项传递给构造函数。如下代码:

var colors = new Array("red","green","black","gray");


还有一点,就是在ECMAScript中,使用构造函数创建数组的时候new操作符是可以省略的。看如下代码实例:

var arr = Array(20);
var colors = Array("red","green","black","gray");


这两行代码的实际作用和下面代码是一样的:

var arr = new Array(20);
var colors = new Array("red","green","black","gray");


  创建数组的第二种方式是使用数组字面量表示法。数组字面量由一对包含数组项的方括号表示,多个数组项之间以逗号隔开。

function test(){
var colors = ["red","gray","green","black"];
var names = [];
var values = [1,2,];
var options = [,,,,,];
}


  上面代码都可以创建数组,但是像values和options数组在IE里面会有bug,就是在其他主流浏览器如firefox、opera、safari、chrome中,values和options分别会创建包含2个和5个项的数组,但是在IE的实现中,这会分别创建包含3个项和6个项的数组,正因IE存在实现ECMAScript中的这个个bug,一般的时候不建议使用这种方式创建数组。

  与Object一样,在使用数组字面量表示法时,也不会调用构造Array的构造函数,firefox除外。

  在读取和设置数组的值时,要使用方括号并提供基于0的索引。数组的索引值从0开始。

<script type="text/javascript">
var colors = ["red","green","black","gray"];
document.write(colors[0]);
colors[1] = "as";
document.write(colors[1]);
</script>


  方括号中的索引值表示要访问的值,如果索引值小于数组的项数,则返回相应的值,设置值也是这个道理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: