javascript性能提升——减少访问DOM的次数
来源:互联网 发布:云海软件 编辑:程序博客网 时间:2024/05/01 17:31
——authored by 李家优
访问DOM元素是有代价的,修改DOM元素则更为昂贵,因为它会导致浏览器重新计算页面的几何变化。
当然,最坏的情况是在循环中访问修改元素,尤其是对HTML元素集合循环操作。
例如:
<!-- 优化前 --><script type="text/javascript"> function innerHTMLLoop () { for(var count = 0; count < 15000; count++){ document.getElementById('here').innerHTML+='a'; } }</script>这个函数循环修改页面元素的内容。这段代码的问题在于,每次循环迭代,该元素都被访问两次:一次读取innerHTML属性,另外一次重写它。
一个效率更高的做法是使用局部变量存储更新后的内容,然后在循环结束后一次性写入:
<!-- 优化后 --><script type="text/javascript"> function innerHTMLLoop () { var content = ''; for(var count = 0; count < 15000; count++){ content+='a'; } document.getElementById('here').innerHTML+=content; }</script>访问DOM的次数越多,代码运行速度越慢。因此,在有其他方案可以代替的时候,我们要尽量减少访问DOM的次数。
长按图片识别图中二维码(或搜索微信公众号FrontEndStory)关注“前端那些事儿”,带你了解最新的前端技术。
0 0
- javascript性能提升——减少访问DOM的次数
- javascript性能提升——减少遍历集合的开销
- 数据库性能提升之减少访问数据库次数
- 数据库提升性能 要减少访问数据库次数
- 数据库性能提升之减少访问数据库次数
- javascript性能提升——减少循环迭代的工作量
- 【系统性能优化】减少页面对公共资源Easyui的访问次数
- javascript性能提升——采用nextSibling方法来查找DOM节点
- 性能优化——雅虎军规/减少DOM操作
- 提高web性能之--减少对DOM的操作和访问
- 如何减少访问磁盘的次数,减少访问磁盘的次数
- javascript性能提升——访问集合元素时使用局部变量
- 设计文件系统时应尽量减少访问磁盘的次数,以提高文件系统的性能.下列各种措施中,哪些可以减少磁盘服务时间?
- javascript性能提升——脚本位置
- javascript性能提升——脚本合并
- javascript性能提升——字符串连接
- Oracle 减少数据库访问次数
- Excel No Responding 的解决方案(Slow Addin-减少访问次数)
- ocx开发经验
- php.ini 中的short_open_tag和asp_tags
- android 布局:两端对齐中间填充
- MyEclipse的快捷键
- jQuery、Ajax、PHP、Json的一个综合例子
- javascript性能提升——减少访问DOM的次数
- 迅雷近几年笔试题及其分析
- Android中webview和js之间的交互
- iOS中设置文件不备份
- Hanoi塔问题
- 键盘自定义
- 如何在eclipse jee中创建Maven project并且转换为Dynamic web project
- Makefile学习
- 近几年微软笔试题汇总分类解析