1

+new Date240,000 DOM ノードを挿入するなど、JavaScript で DOM 操作時間のコストを計算するために使用したい

var t1 = +new Date();

var tbody = document.getElementsByTagName("tbody")[0];
for (var i = 0; i < 20000; i++) {
    var tr = document.createElement("tr");
    for (var t = 0; t < 6; t++) {
        var td = document.createElement("td");
        td.appendChild(document.createTextNode(i + "," + t));
        tr.appendChild(td);
    }
    tbody.appendChild(tr);
}

var t2 = +new Date();
console.log(t2 - t1);

このコードを実行すると、ログには約 1 秒しか表示されませんが、実際には 1 秒以上、さらには 5 秒以上かかりました

なぜこれが起こったのですか?この正しいコスト時間を計算するにはどうすればよいですか?

4

1 に答える 1