首页 > IT职业 > IT图书 > js中为什么dom操作消耗性能

本文教程操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。
1、js中为什么dom操作消耗性能?
JavaScript中js引擎和渲染引擎(浏览器内核)是独立实现的。使用js 去操作 DOM 时,本质上是 JS 引擎和渲染引擎之间进行了“跨界交流”。每操作一次 DOM,都要跨界一次。跨界的次数一多,就会产生比较明显的性能问题。
2、渲染引擎工作介绍:
解析HTML代码,生产DOM tree
解析CSS样式,结合DOM tree生产Render tree(display: none;的结点不会存在Render tree上,最后不会被paint)
计算Render tree各个节点的布局信息,比如box的位置、尺寸、颜色、外形等
根据计算后的布局信息,调用浏览器的UI引擎进行渲染。
而操作dom会产生几种动作,重绘和重排极大的影响渲染的效率。
3、优化方法:通过设置DOM元素的display样式为none来隐藏元素
var myElement = document.getElementById('myElement');
myElement.style.display = 'none';
// 一些基于myElement的大量DOM操作
...
myElement.style.display = 'block';
以上就是JavaScript中dom消耗性能的原因及优化方法,希望能解决你的问题哦~更多JavaScript学习推荐:JavaScript教程。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/855/viewspace-2831130/ ,如需转载,请注明出处,否则将追究法律责任。