前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JS中文档碎片的理解和使用

JS中文档碎片的理解和使用

作者头像
用户9914333
发布2022-07-22 14:36:02
1.6K0
发布2022-07-22 14:36:02
举报
文章被收录于专栏:bug收集

本文将要探讨:

js中对于文档碎片的理解与使用

1、我们要明白当js操作dom时发生了什么?

每次对dom的操作都会触发"重排"(重新渲染界面,发生重绘或回流),这严重影响到能耗,一般通常采取的做法是尽可能的减少dom操作来减少"重排"

2、什么是文档碎片?

document.createDocumentFragment() 一个容器,用于暂时存放创建的dom元素

3、文档碎片有什么用?

将需要添加的大量元素时 ,先添加到文档碎片中,再将文档碎片添加到需要插入的位置,大大减少dom操作,提高性能(IE和火狐比较明显)

示例:往页面上放100个元素;

普通方式:(操作了100次dom)

通过for循环,每次循环,添加一个dom元素

代码语言:javascript
复制
for(var i=100; i>0; i--){ 
    var elem = document.createElement('div');
    document.body.appendChild(elem);//放到body中
}

文档碎片:(操作1次dom)

先将dom暂存在文档碎片中,然后在一次性操作dom

代码语言:javascript
复制
var df = document.createDocumentFragment();          
 for(var i=100; i>0; i--){              
      var elem = document.createElement('div');                             
      df.appendChild(elem);
 }         
 //最后放入到页面上         
document.body.appendChild(df);

前端性能优化都是从一些细节地方做起的,如果不加以注意,后果很严重。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 bug收集 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档