jquery로 큰 웹 스크립트를 작성하고있었습니다. 다양한 작업을 수행하며 그 중 하나가 DOM 요소와 상호 작용합니다. 간단한 자바 스크립트 함수를 사용했습니다.jQuery 함수 성능
function mymainclass() {
// declared variables here
this.var1 = new String
// Some functions
this.fn1 = function() { ... }
}
그런 다음 JavaScript에서 프로토 타입 함수를 사용하여 다른 함수를 추가했습니다.
mymainclass.prototype.afn1 = function() {
...
}
나는이 방법을 사용하여 좋은 진전을 내가 "학습 JQuery와"책에 부록 C를 읽기 전에 약 300 라인을 작성 완료. Javascript 클로저에 관한 것이었고 jQuery
fn
함수를 사용하는 것이 좋습니다. 따라서 프로토 타입으로 함수를 추가하는 대신 다음을 사용합니다.
jQuery.fn.afn1 = function() {
....
return this;
}
전체 코드를 처음부터 다시 작성했습니다. 새로운 사용으로 인해 행복했습니다.
$('..').afn1('..','..',...);
코딩에서 훨씬 더 뛰어납니다. 그러나 새로운 코드에서 일을 시도 할 때 이전 코드보다 훨씬 느리다는 것을 알았습니다. 이전 코드 속도는 jQuery.fn이 사용 된 488ms와 비교하여 총 50.56ms입니다.
는 내가 jQuery를 플러그인 방법에 대한 조언을 부탁드립니다. 필자가 작성한 스크립트에서 4000 또는 5000 줄을 읽은 후 코드가 매우 느리고 처음부터 코드를 다시 고려해야 할 것입니다. 내가 무엇을하여야한다? 같은 문제를 찾았습니까? 나는 또한 싶습니다
는 빨리 실행되도록 스크립트를 최적화 할 방법을 알고있다. FireBug를 사용하여 속도를 추적합니다.
성능과 관련하여 가장 중요한 질문은 무엇입니까? 내 경우에는 jguery.fn을 사용하면 더 편리해진다. –
DOM에서 요소를 검색하고 DOM을 조작하는 것이 느리다. 이것이 주요 병목이다. 자신의 클래스 기반 상속을 사용하는 것이 일반적으로 jQuery 프로토 타입을 확장하는 것보다 코드 방식으로 더 빠릅니다. 그러나 메소드가 DOM 요소와 조작을 직접 목표로한다면 jQuery 플러그인 작성 지침을 사용하는 것이 더 편리 할 수 있습니다. – David