温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

js中dom操作消耗性能的原因

发布时间:2021-05-07 09:28:20 来源:亿速云 阅读:331 作者:小新 栏目:编程语言

这篇文章主要介绍了js中dom操作消耗性能的原因,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

JavaScript的特点

1.JavaScript主要用来向HTML页面添加交互行为。 2.JavaScript可以直接嵌入到HTML页面,但写成单独的js文件有利于结构和行为的分离。 3.JavaScript具有跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行。

本文教程操作环境: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';

感谢你能够认真阅读完这篇文章,希望小编分享的“js中dom操作消耗性能的原因”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI