`
apprentice_ll26
  • 浏览: 26082 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

认识Javascript数组(ZZ)

阅读更多
From http://www.blueidea.com/tech/web/2009/6958.asp
1.认识数组

数组就是某类数据的集合,数据类型可以是整型、字符串、甚至是对象
Javascript不支持多维数组,但是因为数组里面可以包含对象(数组也是一个对象),所以数组可以通过相互嵌套实现类似多维数组的功能

1.1 定义数组

声明有10个元素的数组
引用
var a = new Array(10);

此时为a已经开辟了内存空间,包含10个元素,用数组名称加 [下标] 来调用,例如 a[2] 但此时元素并未初始化,调用将返回 undefined

以下代码定义了个可变数组,并进行赋值
引用
var a = new Array();
a[0] = 10;
a[1] = "aaa";
a[2] = 12.6;


上面提过了,数组里面可以放对象,例如下面代码
引用
var a =    new Array();
a[0]    = true;
a[1]    = document.getElementById("text");
a[2]    = {x:11, y:22};
a[3]    = new Array();

数组可以实例化的时候直接赋值,例如
引用
var a = new Array(1, 2, 3, 4, 5);
var b = [1, 2, 3, 4, 5];

a 和 b 都是数组,只不过b用了隐性声明,创建了另一个实例,此时如果用alert(a==b)将弹出false

1.2 多维数组

其实Javascript是不支持多维数组的,在asp里面可以用 dim a(10,3)来定义多维数组,在Javascript里面,如果用 var a = new Array(10,3) 将报错
但是之前说过,数组里面可以包含对象,所以可以把数组里面的某个元素再声明为数组,例如
引用
var a = new Array();
a[0] = new Array();
a[0][0] = 1;
alert(a[0][0]);  //弹出 1

声明的时候赋值
引用
var a = new Array([1,2,3], [4,5,6],    [7,8,9]);
var b = [[1,2,3], [4,5,6], [7,8,9]];

效果一样,a采用常规实例化,b是隐性声明,结果都是生成一个多维数组

2.1数组的循环
引用
var a = [1,2,3,4,5,6];
for(var i =0; i<a.length; i++){
alert(a[i]);
}

这是最常用的,历遍数组,代码将依次弹出1至6

还有一种常用的
引用
var a = [1,2,3,4,5,6];
for(var e in a){
alert(e);
}

还是依次弹出1至6,for…in是历遍对象(数组是特殊的对象)对象,用在数组上,因为数组没有属性名,所以直接输出值,这结构语句用在对象上,例如下面
引用
var a = {x:1,y:2,z:3};
for(var e in a){
alert(e    + ":" + a[e]);
}

此时e取到的是属性名,即 x、y、x,而要取得值,则采用 数组名[属性],所以 a[e] 等同于 a[“x”]、a[“y”]、a[“z”]

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics