在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
众所周知,在富网页应用中编写脚本时,无可避免地要跟DOM打交道,但是频繁地对于DOM进行操作,又会导致损耗性能,那么如何才能优化这个性能瓶颈呢?其实这也是前端面试的必考题,一般来说有大致七种方式,归纳起来都是从三种角度出发,即访问和修改DOM元素;修改DOM样式;通过DOM事件处理程序来响应用户。下面我们来详细讲解一下优化DOM操作的性能。

1、查找元素的优化。因为 ID 是唯一的,也有原始的方法,因此使用ID 查找元素是最快的,其次的是根据类和类型查找元素,通过属性查找元素是最慢的,因此应该尽可能的通过 ID 或者类来查找元素,避免通过属性来查找元素。
2、减少访问和改变DOM元素,包括添加,修改,删除DOM。改变DOM就会引起浏览器渲染,而渲染是相当慢的,因此应该避免不必要的渲染。
3、减少改变DOM的样式类等。改变DOM元素的样式,类也会导致浏览器渲染,因此也应该减少不必要的操作。
4、批量修改DOM时从文档流中摘除该元素 ,对其应用多重改变 , 将元素带回文档中 , 这样可以最小化重绘和重排版 。
具体方法:
(1)隐藏元素,进行修改,然后再显示它。
(2)将原始元素拷贝到一个脱离文档的节点中,修改副本,然后覆盖原始元素。
5、减少 iframeiframe 需要消耗大量的时间,并阻塞下载,建议少用。
6、样式放在 header 中,脚本放在关闭标签</body>之前样式放在。header 中,可以加快渲染,脚本放在关闭标签</body>之前可以加快下载速度,不免阻塞下载。
7、使用事件委托,减少绑定事件的数量。多次访问同一DOM,应该用局部变量缓存该DOM。
以上就是如何优化DOM操作的性能的具体方法。相信看完本篇文章,大家如果在前端面试题再遇到这样的问题,就可以能轻松应对啦。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
常见web前端面试题(包含答案)
入职互联网技术岗位都有一个特点,需要参加面试以及笔试。而这两个过程中都有很多涉及到技术的问题。所以博学谷为大家整理了部分常见的web前端面试题,并完善了其中答案,希望对求知的小伙伴有所帮助。
9405
2019-08-08 14:08:31
JavaScript常用内置对象有哪些?
JavaScript常用内置对象有哪些?一般来说,大家最常用的有浏览器对象模型、文档对象模型和全局JavaScript对象三类。下面小编就来分析一下这三类具体的内置对象及其作用。
9997
2019-08-21 18:31:00
如何利用CSS3实现响应式项目开发?
随着移动互联网的日趋成熟,一个网站能兼容多种终端的响应式项目开发应用而生。作为一种常被用于以浏览为主网站的网页布局方式,它最主要的优点就是可以给用户带来更好的使用体验。那么,我们应该如何利用CSS3实现响应式项目开发?这里给大家介绍一个免费的学习教程,手把手帮助大家掌握CSS3实现响应式项目开发的相关技能。
6176
2020-04-14 11:50:13
北京Web前端工资一般多少?要求高吗?
前端程序员薪酬区间: 3K~50K,大多数人拿10K~15K 工资的占比最多,达28.8%,平均工资17.2K,数据统计依赖于各平台发布的公开薪酬,此数据仅供参考。
12762
2020-09-21 15:27:49
微前端需要 JavaScript为什么?原因分析
许多微前端解决方案都是JavaScript 框架。JavaScript 不是可选的。每个人都想要高度交互的体验,而JS 在提供这些体验中发挥着至关重要的作用。许多JavaScript 框架都提供了 isomorphic 渲染能力。不仅能够在客户端进行拼接(stitch),还能在服务器上准备好一切
6574
2020-10-15 10:37:28
