나는 그 (것)들의 다량 통지에 가지고 가지 않을 텐데. 그들은 모범 사례를 따르지 않으며 전혀 최적화되지 않습니다. 예를 들어
타고 "확인"JQuery와 1.3.2 테스트 (아래 코드)
당신이 here 가서 열고 불을 지르고는 당신은 내가 그 일을하는 가장 좋은 방법에 대한 자신의 방법을 비교 한 참조 할 수 있습니다. 그 차이는 놀랍습니다.
나는 명료하게하기 위해 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