Javascript 数组赋值需要注意的地方

1,“关联数组”:

a = new Array();
alert(a.length);           //out : 0
a['a'] = 'a';a['b'] = 'b';
alert(a.length);           //out : 0
alert(a['a']);             //out : a
alert(a['b']);             //out : b

2,“索引数组”:

a = new Array();
alert(a.length);    //out : 0
a[5] = 5;
alert(a.length);    //out : 6
alert(a.toString()); //out : 看下面的截图 1:

1

也就是说,当执行 a[5] = 5 时,前 5 个元素都被分配了 undefined 的值,因为数组索引都是从 0 开始的,所以,我们只是对第 6 个元素 a[5] 进行了赋值,但是要注意的就是前五个也被“分配”了,只不过是 undefined 的值,所以这里的 a.length 等于 6.

其实上面的 a[5] = 5 等价于下面的:

a = new Array(6);   // 定义长度为 6
alert(a.length);    // out : 6
alert(a.toString()); //看下面的截图 2
a[5] = 5;
alert(a.toString()); //看下面的截图 3

图 2:

2

图 3:

3

posted @ 2010-10-08 14:50  无墨来点睛  Views(1543)  Comments(0Edit  收藏  举报