js中为什么dom *** 作消耗性能

js中为什么dom *** 作消耗性能,第1张

js中为什么dom *** 作消耗性能

Javascript中虽然dom的易用性强,但是dom效率低,使用dom解析会创建很多的对象,大量对象的创建和销毁消耗了大量的时间,影响我们的使用效率。本文介绍Javascript中都没 *** 作消耗的性能的详细原因及处理方法。

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教程。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3016996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-28
下一篇 2022-09-28

发表评论

登录后才能评论

评论列表(0条)

保存