《高性能Javascript》读书笔记-3

第三章

DOM编程

把dom和js 各自想象为一个岛,他们之间用收费的桥梁链接,每次访问dom都必须途径这座桥收取过路费,访问次数多费用就高了。所有必须减少来往次数。

innerHtml 与dom比较:

对性能有着苛刻要求 更新一大片Html 推荐 innnerhtml

节点克隆:

element.cloneNode()  代替 document.createElement();

昂贵的集合

读取一个集合length 比读取一个普通数组的length要慢很多,因为每次都要去查询。

ie 和 hover:性能当创建一个5列和500~1000行表格,并使用hover改变背景高亮显示所在行, 移动上去,性能降低  高亮过程变慢,cpu使用率提高80%~90%;

 

2016-9-31更新:

 在相同的情况下,遍历一个数组的速度明显快与 遍历html集合

在for循环每次迭代过程中,读取元素集合的length属性会引起集合进行更新;产生性能问题  

解决就是  用局部变量保存  length长度

childnodes表示元素的集合

在所有浏览器中 chiildren比 childnodes 要快 不会快太多 集合项目少  1.5到3倍吧 

 

posted @ 2016-09-19 00:46  h5monkey  阅读(108)  评论(0编辑  收藏  举报