• document.createDocumentFragment(文档碎片)


    document.createDocumentFragment实际上是为了减少Dom次数, 提高页面效率和性能;因为每当javascript对Dom操作一次, 页面将刷新一次并更新内容;而利用document.createDocumentFragment创建一个文档碎片, 将所有Dom操作追加到该文档碎片, 最后一次性将该文档碎片添加到document中。相比前者,后者只需要对Dom操作一次, 页面也就只被刷新一次, 由于页面刷新次数大大减少, 从而提高页面显示的效率。

    <html>

    <head>

        <title>document.createDocumentFragment()测试页面</title>

    </head>

    <body>

        <script type="text/javascript">

            var d1 = new Date();

            for (var i = 0; i < 1000; i++) {

                var op = document.createElement("P");

                var oText = document.createTextNode("test1");

                op.appendChild(oText);

                document.body.appendChild(op);

            }

            var d2 = new Date();

            document.write("方法一用时:" + (d2.getTime() - d1.getTime()) + "<br/>");
            alert(d2.getTime() - d1.getTime());

            //---+-----

            var d3 = new Date();

            var oFrag = document.createDocumentFragment();

            for (var i = 0; i < 1000; i++) {

                var op = document.createElement("P");

                var oText = document.createTextNode("test2");

                op.appendChild(oText);

                oFrag.appendChild(op);

            }

            document.body.appendChild(oFrag);

            //这段代码中

            var d4 = new Date();

            document.write("方法二用时:" + (d4.getTime() - d3.getTime()) + "<br/>");
            alert(d4.getTime() - d3.getTime());

        </script>

    </body>

    </html>
    PS. 比较方法一和方法二程序执行所需要的时间, 应该是方法一大于方法二。

  • 相关阅读:
    python 类继承演示范例的代码
    C#监控指定目录的文件变化的代码
    如何开启红米手机4X的ROOT超级权限
    C# 发送电子邮件源码片段
    android中使用afinal一行源码显示网络图片
    (详细)华为畅享7 SLA-AL00的usb调试模式在哪里打开的流程
    C#自定义FTP访问类的代码
    C#的String.Split 分割字符串用法详解的代码
    红米Note 5A完美卡刷开发版获得ROOT超级权限的方法
    C# 类如何声明索引器以提供对类的类似数组的访问的代码
  • 原文地址:https://www.cnblogs.com/yltleeral/p/3376151.html
Copyright © 2020-2023  润新知