【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] ;

本文来源:http://www.gdgbn.com/jiaocheng/15519/