高性能Javascript HTML集合访问的学习笔记
HTML集合是包含了DOM節(jié)點引用的類數(shù)組對象。
document.getElementsByTagName();
document.images ? document.links document.forms ? document.forms[0].elements
HTML集合有l(wèi)ength,有索引,但不是真正的數(shù)組 ? ?沒有push 或slice之類的方法 ? ??
HTML集合處于一種“實時狀態(tài)” 實時存在,這意味著底層文檔對象更新時,它也會自動更新,HTML集合與文檔一直保持連接,每次你需要更新信息時,都命運 重復執(zhí)行查詢的過程,這下是低效之源
昂貴的集合
緩存數(shù)組長度 ?\
for(var i=0,len = coll.length;i<len;i++) {
}
更有將集合轉化為數(shù)組
function toArr(coll) {
?? ?for(var i = 0, a = []; len = coll.length; i < len; i++) {
?? ? ? ? a[i] = coll[i];
?? ?}
?? ?return a;
}
這個寫法比較好,for的第一項可用于創(chuàng)建變量, ? ? ? ?
但用此法也不一定好,因為它要兩次循環(huán)(toArr ?一次,遍歷數(shù)組一次),看情況而定. ? ? ??
轉載于:https://www.cnblogs.com/yushunwu/archive/2011/09/15/2178081.html
總結
以上是生活随笔為你收集整理的高性能Javascript HTML集合访问的学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于Const指针的一点补充
- 下一篇: 听了一个讲座