console.time 简单分析javascript动态添加Dom节点的性能

时间:2014-05-07 08:54:37   收藏:0   阅读:630

Bullshit

本来想每天都更新下博客的,但是最近要考试,还有就是自己还是停留在暗自窃喜中吧(这种想法要改变)。其实最近总在想,自己要怎么去管理自己的数据,每天的生活都是对自己的数据的增删查改。昨天把自己的电脑重装了,确实很多软件的存放要改地方了,之前不知道怎么去管理软件安装,所以放得乱七八糟的。说好一大堆废话之后,我最后再说一遍,管好自己的时间、数据真的比你学习东西重要。

Method

本文代码约定

如果叫你用javascript动态增加DOM节点,你有哪几种思路呢?

1 .使用innerHTML和字符串拼接
console.time("time1");
var str = "";
for{ 
str += "<div>123<div>"; 
}
el.innerHTML = str;
console.timeEnd("time1");
2 .使用innerHTML和数组
console.time("time2");
var arr = [];
for{
arr.push("<div>123<div>");
}
el.innerHTML = arr.join("");
console.timeEnd("time2");
3 .使用DOM API
console.time("time3");
var str = "";
for{
var div = document.createElement("div");
div.textContent = "123";
el.appendChild(div);
}
console.timeEnd("time3");

result

在这里有必要知道console.time命令的作用,请看链接console.time(label)。我简单介绍下吧,就是在console.time函数中传入一个参数,这个参数就是一个标记,当chrome运行到这里就开始计时,那什么时候结束计时呢,这个就有关另外一个函数console.timeEnd,参数就是刚才那个标记。这样子我们就知道中间那段javascript代码究竟跑了多久了,记住它是以毫秒为单位的。

那好我们现在猜测下究竟哪段代码跑的时间最短呢?

不卖关子了,时间长短逐渐上升分别是:time2<time3<time1(我只是在chrome上面测试,可能在其他浏览器不一样)

Summary

为什么会出现上面的情况呢?

console.time 简单分析javascript动态添加Dom节点的性能,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!