美文网首页
性能优化——DocumentFragment

性能优化——DocumentFragment

作者: 沈墨空 | 来源:发表于2017-03-23 13:52 被阅读0次

概念

DocumentFragment 接口表示文档的一部分(或一段)。更确切地说,它表示一个或多个邻接的Document 节点和它们的所有子孙节点。

DocumentFragment 节点不属于文档树,继承的 parentNode 属性总是 null。

不过它有一种特殊的行为,该行为使得它非常有用,即当请求把一个 DocumentFragment 节点插入文档树时,插入的不是 DocumentFragment 自身,而是它的所有子孙节点。这使得 DocumentFragment 成了有用的占位符,暂时存放那些一次插入文档的节点。它还有利于实现文档的剪切、复制和粘贴操作

说明

我们知道每执行一次DOM操作都会导致页面的重绘和重新排版,比如当进行循环批量插入节点时,每一次插入就会刷新一次DOM树,严重影响页面性能。

这时候我们可以选择使用DocumentFragment来临时保存要插入的所有节点,循环完成后再插入到主文档里边,这样就只需要修改一次DOM树。

代码

var fragment = document.createDocumentFragment();

for (let i = 0;i<10;i++){
  let node = document.createElement("p");
  node.innerHTML = i;
  fragment.appendChild(node);
}

document.body.appendChild(fragment);

相关文章

  • 性能优化——DocumentFragment

    概念 DocumentFragment 接口表示文档的一部分(或一段)。更确切地说,它表示一个或多个邻接的Docu...

  • 了解DocumentFragment 给我们带来的性能优化

    什么是DocumentFragment? DocumentFragment 节点不属于文档树,继承的 parent...

  • Android性能优化 - 消除卡顿

    性能优化系列阅读 Android性能优化 性能优化 - 消除卡顿 性能优化 - 内存优化 性能分析工具 - Tra...

  • Android性能优化 - 内存优化

    性能优化系列阅读 Android性能优化 性能优化 - 消除卡顿 性能优化- 内存优化 性能分析工具 - Trac...

  • 前端性能优化(中)

    性能优化调研系列文章 《前端性能优化(上)》 《前端性能优化(中)》 《前端性能优化(下)》 《前端性能优化(上)...

  • 前端性能优化(下)

    性能优化调研系列文章 《前端性能优化(上)》 《前端性能优化(中)》 《前端性能优化(下)》 《前端性能优化(中)...

  • Awesome Extra

    性能优化 性能优化模式 常见性能优化策略的总结 Spark 性能优化指南——基础篇 Spark 性能优化指南——高...

  • 常用的后端性能优化六种方式:缓存化+服务化+异步化等

    性能优化专题 前端性能优化 数据库性能优化 jvm和多线程优化 架构层面优化 缓存性能优化 常用的后端性能优化六大...

  • webpack 性能优化

    webpack性能优化 开发环境性能优化 生产环境性能优化 开发环境性能优化 优化打包构建速度 优化调试功能 生产...

  • iOS性能优化 - 整理

    本文主要包含: 性能优化 - 卡顿性能优化 - 耗电优化性能优化 - APP启动优化安装包瘦身 一  性能优化 -...

网友评论

      本文标题:性能优化——DocumentFragment

      本文链接:https://www.haomeiwen.com/subject/pfbznttx.html