1 // 读取一个集合的length 比一个普通的数组要慢很多 2 function toArray(coll){ 3 for(var i = 0, a= [],len = coll.length; i < len; i++){ 4 a[i] = coll[i]; 5 } 6 return a; 7 } 8 // 将HTML 转化为普通数组 9 function convertToArray(nodes){ 10 var arr = []; 11 try{ 12 arr = Array.prototype.slice.call(nodes, 0); 13 }catch(e){ 14 for(var i = 0,len = nodes.length; i < len; i++){ 15 arr.push(nodes[i]); 16 } 17 } 18 return arr; 19 }
HTML 集合 是类数组, 没有 push() pop() slice() 等方法,但是可有通过[0] [1]... 访问 ;同时存在.length 属性
要提高遍历 DOM 的性能:
一: 缓存DOM 成员
二: 缓存 length 属性