HTML集合是包含了DOM节点引用的类数组对象。
document.getElementsByTagName();
document.images document.links document.forms document.forms[0].elements
HTML集合有length,有索引,但不是真正的数组 没有push 或slice之类的方法
HTML集合处于一种“实时状态” 实时存在,这意味着底层文档对象更新时,它也会自动更新,HTML集合与文档一直保持连接,每次你需要更新信息时,都命运 重复执行查询的过程,这下是低效之源
昂贵的集合
缓存数组长度 \
for(var i=0,len = coll.length;i<len;i++) {
}
更有将集合转化为数组
function toArr(coll) {
for(var i = 0, a = []; len = coll.length; i < len; i++) {
a[i] = coll[i];
}
return a;
}
这个写法比较好,for的第一项可用于创建变量,
但用此法也不一定好,因为它要两次循环(toArr 一次,遍历数组一次),看情况而定.