如何优化js代码(3)――减少页面的重绘
2013-06-14 15:05
573 查看
3、减少页面的重绘
减少页面重绘虽然本质不是JS本身的优化,但是其往往是由JS引起的,而重绘的情况往往是严重影响页面性能的,所以完全有必要拿出来,我们看下面例子:?
?
在例子中,我只是用了100次的循环,因为如果用10000次循环的话,浏览器基本上就卡住不动了,但是即使是100次的循环,我们看看下面的执行结果。
可以看到的是,这简直是一个惊人的结果,仅仅100次的循环,不管是在什么浏览器下,都出现了如此之大的差别,另外我们还发现,在这里,IE6的执行效率居然比起Firefox还要好很多,可见Firefox在页面重绘这方面并没有做一些的优化。这里还要注意的是,一般影响页面重绘的不仅仅是innerHTML,如果改变元素的样式,位置等情况都会触发页面重绘,所以在平时一定要注意这点。
减少页面重绘虽然本质不是JS本身的优化,但是其往往是由JS引起的,而重绘的情况往往是严重影响页面性能的,所以完全有必要拿出来,我们看下面例子:?
IE6.0 | ||||||
函数 | 第1次 | 第2次 | 第3次 | 第4次 | 第5次 | 平均 |
func1 | 842ms | 842ms | 843ms | 843ms | 842ms | 842.4ms |
func2 | 16ms | 0ms | 16ms | 0ms | 16ms | 9.6ms |
Firefox4.0 | ||||||
函数 | 第1次 | 第2次 | 第3次 | 第4次 | 第5次 | 平均 |
func1 | 3126ms | 3098ms | 3109ms | 3133ms | 3022ms | 3097ms |
func2 | 59ms | 59ms | 59ms | 58ms | 58ms | 58ms |
Chrome6.0 | ||||||
函数 | 第1次 | 第2次 | 第3次 | 第4次 | 第5次 | 平均 |
func1 | 294ms | 297ms | 296ms | 297ms | 313ms | 299ms |
func2 | 0ms | 4ms | 5ms | 4ms | 0ms | 2.6ms |
相关文章推荐
- 如何优化js代码(4)――减少作用域链上的查找次数
- http 如何强转为 https,几行JS 代码就搞定了,网上说得很难一样!还有如何自定义 404页面
- js性能优化 如何更快速加载你的JavaScript页面
- 如何最快速的找到页面某一元素所绑定的点击事件,并查看js代码
- 如何优化你的JS脚本来减少reflow/repaint?
- 页面的重绘与回流,以及如何优化
- 如何确保页面中的js加载完全后再执行其他代码
- 从select中选择option后如何转到相应的数据页面中去的JS代码
- 如何在页面调用JS函数的代码
- JS代码优化技巧之通俗版(减少js体积)
- 如何在一个网站或者一个页面,去书写你的JS代码
- 持续讨论 javascript 如何控制优化页面 js 加载顺序
- js性能优化 如何更快速加载你的JavaScript页面
- 页面优化中常常会说到减少 http 请求,应该如何理解
- React Native之如何优化组件来达到减少代码冗余
- 如何使用js减少页面大量重复(js事件)语句
- js如何获取jsp页面中嵌入的java代码中的变量?
- 如何优化你的JS代码
- JS代码优化技巧之通俗版(减少js体积)
- 如何优化你的JS代码