既然是总结,就不要重复书中内容了,适当总结、扩展、思考。
访问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上。然后记住取消冒泡。