【www.gdgbn.com--php入门】
V1 : 无参数:
var a = new Array();
空数组,和 var a =[ ] 相等 ;
V2 : 多个参数:
var a = new Array( 1,2,3,”tt”) ; //可以看出直接量定义 简单些。
V3 : 1个数字参数:
var a = new Array (3);
具有3个元素的数组,每个元素的值为 undefined ;
6, 数组的下标(索引):
大小 : 0 <= 下标 < 2的32次方 – 1 ;
如果不在范围内,js会讲它转换为一个字符串,作为对象属性的名称;
而不是作为数组的下标;
比如:
a[-1.2] = “test” ; // 等价于 a[“-1.2”] =”test” ;
//代码解释: 创建一个名为 “-1.2”的属性,而不是定义一个 新的数组元素。
7, 添加数组的内存使用:
a[10] = “test” ; //添加新的元素
内存的使用:
比如:
a[0] = “1” ;
a[10] =” 10” ;
那么js值给下标为0 和10的元素分配内存,中间的9个元素不被分配;
注:数组也可以添加到对象中;
比如;
var a = new Circle(1,2,3);
a[0]= “test” ;
这个例子定义了一个名为” 0 “的新对象属性。
只将数组元素添加到一个对象中并不会使它成为数组。
8, 删除数组:
var a = [1,2];
delete a[0];
alert(a[0]) //输出 undefined
alert(a[1]) //输出 2
由例子可以看出,delete删除其实没有真正删除,只不过把元素设置为undefined;
如果要真正删除,可以使用Array.shift(),等方法。
比如:
var a = [1,2];
delete a[0];
alert(a[0]) //输出 undefined
alert(a[1]) //输出 2
a.shift(); //删除数组的第一个元素
alert(a[0]) //输出 2
alert("length:"+a.length);
alert(a[1]) //输出 undefined ; 1已经被删除了,其实数组已经的长度只有 1 了;
9,数组的length:
a[49] = “a”;
// 那么这个数组的长度是 50 ;
length属性经常用于遍历数组元素;
比如:
var a = [“a” , “b “ ,”c” ];
for(var i = 0 ; i< a.length ; i++){
alert(a[i]);
}
这个是在假定元素是连续的,如果不是这种情况:
必须检测每个元素是否被定义 : 比如:
for(var i = 0 ; i< a.length ; i++){
if(a[i]){
alert(a[i]);
}
}
多维数组: a[i][j] ;