3.dom操作 -高性能JavaScript

既然是总结,就不要重复书中内容了,适当总结、扩展、思考。

 

访问dom与操作dom是javascript存在的最重要意义。为什么要这么说,因为js就是为浏览器而生的。

浏览器上的每一个文字图片与布局的存在,都是dom。操作dom代价是昂贵的,因为是两个相当于跨域的操作。

因此,我们需要在这样的操作中做一些优化。

 

1.用变量缓存dom

2.innerHTML比原生操作更快 ------在最新的浏览器反过来,但是还是用innerHTML比较好。

3.elemnt集合的length操作是实时的,所以会造成性能问题。也是用变量缓存

4.用children比childNodes好,也就是说用一些新的dom操作比老的好。

5.css改变时,会造成重绘,最好的办法是一次将css的改变都做了,而不是el.style.a = "" ;el.style.b = ""

所以用el.className = "?" 或者用el.style.text = "?" 更好。

6.document.createDocumentFragment()是文档片段,先将dom的操作或更新用于它,再将它操作进dom更好。

7.绝对定位也不是一无事处,将会动的动画用绝对定位,会脱离文档流,这样其它dom就不会发生重排。

8.:hover最好别用。  

9.事件委托大家都懂的。把很多td发生的事件,绑定到table上。然后记住取消冒泡。

posted @ 2013-01-09 19:01  Bug罗  阅读(319)  评论(0编辑  收藏  举报