1

我有两个做同样事情的 javascript 函数:创建一个基于 json 对象的菜单。

<ul>一个函数将所有和元素附加<li>到一个变量,然后使用该方法将 HTML 写入文档innerHTML

第二个函数通过createElement("ul")andappendChild()方法创建DOM元素

所以我想知道哪个函数更快,但我不知道如何在javascript中执行基准测试。

我的第一个功能是buildMenutoString(),第二个功能是buildMenuDOM()

4

2 回答 2

2

我使用这样的东西:

var bench = function(fn, iterations){
        var time = 0, i = 0, total;

        // start
        time = +(new Date);

        while(i < iterations){
          fn.apply();
          i++;
        }

        total = +(new Date) - time;

        console.log("Mean exec time: ", total / iterations, 'ms');
        console.log("Sum exec time: ", total, 'ms');
     };

示例

var test1 = function(){
      $('body').append('<div />');   
    },

    test2 = function(){
       div = document.createElement('div');
       document.body.appendChild(div);
    };

bench(test1, 1000);
bench(test2, 1000);
于 2013-05-02T23:14:40.537 回答
1

你试过jsperf吗?

像这样的东西:

http://jsperf.com/createelement-vs-innerhtml-qweqwe123

于 2013-05-02T23:40:09.387 回答