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