代码改变世界

array For what?

2012-04-10 14:36  刘联东  阅读(126)  评论(0编辑  收藏  举报

在javascript中数组包括索引数组和关联数组,关联数组可以看作一个对象

1. 索引数组是通过数字索引元素,采用顺序存储方式,元素的类型可以不一样。数组大小按照需要动态调整。

 var  a = [1,2,3];  

  a[7] = 'seven',

 [1,2,3,undefined,undefined,undefined,undefined,"seven"]

 此时数组的长度是8

2.索引数组与其它类型一样同样可以扩展为对象和类,即可以同时为索引数组和关联数组

  a['name'] = 'liu';

  此时数组的长度仍然是8, 因为通过hash管理的数值并不会存入顺序索引空间。而且打印a的结果仍然是

 [1,2,3,undefined,undefined,undefined,undefined,"seven"]

2. 使用 for遍历键值与元素的时候,会忽略underfined项,同时也会检索非undefined的关联元素。

for(var item in a){console.log(item+" "+a[item])}

0 11 22 37 sevenname liu

3. 使用for in遍历对象的效率更低,但是能够同时处理索引元素和关联元素。而且能够通过for in反射对象具有的属性和方法。

 

联动 互联互动