私はそれらの多くの通知にはかかりません。彼らはベストプラクティスに従わず、まったく最適化されていません。例えば
テイク「作る」jQueryの1.3.2テスト(以下コード)
あなたがhereを行くとオープンFirebugのは、あなたが、私はそれを行うための最善の方法に対する彼らの方法を比較している見ることができます。違いはすごいです。
わかりやすくするために、私はmakeBadとmakeGoodという名前を付けました。
alt text http://gyazo.com/6e96f17c1c04aa34f0fe73e7068b6597.png
結論:ひとつまみの塩で結果を取り、ここでの結果です。実際の世界の例ではありません。
"makeBad": function(){
for(var i = 0; i<250; i++){
$("<ul id='setid" + i + "' class='fromcode'></ul>")
.append("<li>one</li><li>two</li><li>three</li>")
.appendTo("body");
}
return $("ul.fromcode").length;
},
これはまったく最適化されていません。ループ内のdomには追加しないでください。配列にプッシュしてdomに一度追加する方がよいでしょう。それは以下のように書かれている方がずっと良いですlibaryの中で最も重要であることに、すべての最初の
"makeGood": function(){
var domBuilder = [];
for(var i = 0; i<250; i++){
domBuilder.push("<ul id='setid" + i + "' class='fromcode'>")
domBuilder.push("<li>one</li><li>two</li><li>three</li>")
domBuilder.push("</ul>")
}
$('#body').append("<div>" + domBuilder.join() + "</div>");
return $("ul.fromcode").length;
},
私のマシンでPureDomの動作が遅いというテストは一度もありません – toto