zoukankan      html  css  js  c++  java
  • innerTHML和createElement效率对比

    创建元素的三种方式

     

    innerHTML字符串拼接方式(效率低)

    <script>
       function fn() {
           var d1 = +new Date();
           var str = '';
           for (var i = 0; i < 1000; i++) {
               document.body.innerHTML += '<div style="100px; height:2px; border:1px solid blue;"></div>';
          }
           var d2 = +new Date();
           console.log(d2 - d1);
      }
       fn();
    </script>

    createElement方式(效率一般)

    <script>
       function fn() {
           var d1 = +new Date();

           for (var i = 0; i < 1000; i++) {
               var div = document.createElement('div');
               div.style.width = '100px';
               div.style.height = '2px';
               div.style.border = '1px solid red';
               document.body.appendChild(div);
          }
           var d2 = +new Date();
           console.log(d2 - d1);
      }
       fn();
    </script>

    innerHTML数组方式(效率高)

    <script>
       function fn() {
           var d1 = +new Date();
           var array = [];
           for (var i = 0; i < 1000; i++) {
               array.push('<div style="100px; height:2px; border:1px solid blue;"></div>');
          }
           document.body.innerHTML = array.join('');
           var d2 = +new Date();
           console.log(d2 - d1);
      }
       fn();
    </script>

     

  • 相关阅读:
    vue中computed和watch的区别,以及适用场景
    vue中使用过的全局API
    厦门中控
    设置圆角的弧度,保持兼容性
    伪元素::after和::before
    SpringMVC
    mui问题
    错误记录
    Android错误
    Android之界面(布局文件layput)
  • 原文地址:https://www.cnblogs.com/clarehjh/p/14786565.html
Copyright © 2011-2022 走看看