`

JavaScript性能优化--创建文档碎片createDocumentFragment

阅读更多

《javascript高级程序设计》第六章DOM基础突然看到文档片段,解决很有用分享一下:

在浏览器中,我们一旦把节点添加到document.body(或者后代节点)中,页面就会更新并反映出这个变化,对于少量的更新,这是很好的,也是我们常用的方法。代码如下:
 

for(var i=0;i<5;i++){
  var op = document.createElement("span");
  var oText = document.createTextNode(i);
  op.appendChild(oText);
  document.body.appendChild(op);
 }
 

但是,如果当我们要向document中添加大量数据时,每次都要产生一次页面刷新,这个时候文档片段就非常有用。

createDocumentFragment()方法,它的作用是创建一个文档碎片,把要插入的新节点先附加在它上面,然后再一次性添加到document中,这就意味着一次屏幕刷新。代码如下:

 var oFragmeng = document.createDocumentFragment();  //先创建文档碎片
 for(var i=0;i<10000;i++){
  var op = document.createElement("span");
  var oText = document.createTextNode(i);
  op.appendChild(oText);
  oFragmeng.appendChild(op); //先附加在文档碎片中
 }
 document.body.appendChild(oFragmeng);//最后一次性添加到document中

 

大家可以自己测试下。前端性能优化从一些细节地方做起的。

2
0
分享到:
评论

相关推荐

    JavaScript性能优化 创建文档碎片(document.createDocumentFragment)

    ### JavaScript性能优化之创建文档碎片(document.createDocumentFragment) 在探讨`document.createDocumentFragment()`方法之前,我们首先需要理解浏览器在处理DOM(文档对象模型)节点插入时的基本行为。DOM是HTML...

    JavaScript文档碎片操作实例分析

    JavaScript文档碎片操作是一种高效处理DOM元素的技术,尤其在需要大量添加或删除DOM节点时,能够显著提升页面性能。文档碎片(Document Fragment)并不是真正意义上的DOM节点,而是一个轻量级的容器,它允许我们在...

    初识javascript 文档碎片

    在JavaScript中,文档碎片(Document ...在实际开发中,合理使用文档碎片能够优化页面性能,尤其是在处理大量动态数据或频繁更新DOM的场景下。因此,理解并恰当运用文档碎片是提升JavaScript应用性能的关键技巧之一。

    高性能javascript设计

    通过减少DOM操作次数,使用文档碎片(document.createDocumentFragment)、事件委托等技术可以提升性能。 3. **事件处理**:避免使用内联事件处理函数,改为使用addEventListener或attachEvent。同时,利用事件代理...

    JavaScript特效

    1. 尽量减少DOM操作:频繁修改DOM会降低性能,可以使用文档碎片(document.createDocumentFragment)或数组操作后再一次性插入DOM。 2. 使用事件代理:为父元素绑定事件,通过event.target判断实际触发事件的子元素...

    前端面试题整理—性能优化及安全篇.docx

    解决方案:利用文档碎片 createDocumentFragment 或者利用模板字符串,将操作的元素进行字符串拼接,最后打包放入页面中。 十、⽹站性能优化 content 方向: 1. 减少 HTTP 请求:合并文件、CSS 精灵、inline ...

    JavaScript DOM高级程序设计

    通过创建文档碎片(`document.createDocumentFragment()`)、批量操作和缓存引用等方法可以优化DOM操作。 10. **jQuery和其他库**:虽然本资源可能不涉及jQuery等库,但它们提供了更简洁的API来操作DOM,简化了跨...

    javascript 操作DOM

    在实际应用中,为了优化性能,通常会避免大量遍历DOM树,而是使用`querySelector`或`querySelectorAll`一次获取所有目标节点,或者使用文档碎片(`document.createDocumentFragment`)来批量操作节点,减少重绘和...

    尚硅谷_教学课件_JavaScriptDOM

    8. **DOM的性能优化**:讲解如何减少DOM操作对页面性能的影响,如使用文档碎片(`document.createDocumentFragment`)和批量操作。 通过学习这些内容,开发者能够熟练掌握JavaScript与DOM的结合,实现丰富的网页...

    javascript动态添加table

    当动态添加大量数据时,考虑使用`document.createDocumentFragment()`创建一个文档碎片,一次性插入到DOM中,以减少重绘和回流的次数,提高性能。 10. **现代JavaScript特性** 使用ES6及以上版本的特性,如模板...

    如何改进javascript代码的性能

    JavaScript是Web应用的核心,其性能优化对于提升用户体验至关重要。本文将深入探讨几种常见的JavaScript性能优化策略,帮助开发者写出更高效的代码。 首先,我们要关注的是DOM交互的优化。DOM(Document Object ...

    脚本动态创建复选框,添加事件

    `document.createDocumentFragment()`函数用于创建一个新的文档碎片。文档碎片是一个特殊的DOM节点,可以包含多个子节点,但不会直接显示在页面上。使用文档碎片可以提高DOM操作的效率,因为它可以将多个DOM操作合并...

    javascript DOM编程艺术

    利用文档碎片(`document.createDocumentFragment()`)和批量操作可以提高性能。另外,使用`innerHTML`和`textContent`时要谨慎,它们可能导致整个元素树被重建。 **DOM库和框架** 在实际开发中,jQuery、React、...

    JS动态添加

    - **createDocumentFragment**:为了提高性能,可以先创建一个文档碎片,然后一次性插入多个元素,避免频繁操作DOM。 3. **事件处理**: - **事件监听**:使用`addEventListener()`可以为元素添加事件监听器,如`...

    javascript+dom

    批量操作(如在内存中构建元素树然后一次性插入)和使用文档碎片(`document.createDocumentFragment`)可以减少重绘次数,提高效率。 **DOM与Ajax** DOM与Ajax(Asynchronous JavaScript and XML)结合,可以实现...

    Dom文档对象模型-2010版

    因此,使用DOM操作时,应尽量减少对DOM树的改动,或利用文档碎片(`document.createDocumentFragment`)和批量操作来优化。 DOM是Web开发中的基础工具,掌握DOM不仅可以帮助理解网页的结构,还能有效地实现动态交互...

    js dom 文档

    因此,了解DOM操作的最佳实践至关重要,例如使用文档碎片(`document.createDocumentFragment()`)、批量操作(收集多个修改并一次性应用)以及使用CSS选择器(更高效地定位元素)等。 总的来说,JavaScript DOM是...

Global site tag (gtag.js) - Google Analytics