문제

나는 페이지에 대해 jQuery를 쓰고 있습니다 많은 DOM 요소의 복잡한 혼란 (나는 이것을 통제 할 수 없다). 기본 대상 브라우저는입니다 IE7, 그리고 나는 JavaScript 엔진의 속도에 대해 우려하고 있습니다. 내가 이미 쓴 스크립트는 느리고 내 능력의 최선을 다해 성능 조정되었습니다.

예를 들어 단일 contains 성명. 또는이 지저분한 HTML을 통해 DOM 검색을 좁히면서 엔진을 도울 수있어 더 복잡합니다.

jQuery 스크립트를 작성할 때 브라우저의 JavaScript 엔진의 속도에 관심을 가져야합니까?

도움이 되었습니까?

해결책

jQuery는 JavaScript로 작성되었습니다. 따라서 jQuery 코드의 속도에도 영향을 미치기 때문에 JavaScript 엔진의 속도에주의해야합니다.

보다 효율적인 jQuery 코드를 작성하는 방법에 대한 많은 팁과 요령이 있습니다. 주요 원칙은 jQuery의 작동 방식, 선택기가 DOM 등에서 요소를 선택하는 쿼리로 변환되는 방법을 이해하는 것입니다.

다른 팁

가능할 때마다 jQuery 메소드 대신 기본 JavaScript 방법을 사용하면 일반적으로 상당한 속도가 향상됩니다. 특히 IE에서. IE의 JS 렌더링 엔진은 다른 비 청거 브라우저와 비교하여 sllloooww입니다.

예를 들어, FF/Safari에서 잘 작동하는 Ajax 스크립트가 있었지만 IE에서 얼어 붙은 당밀처럼 달렸습니다. jQuery의 $ .Each () 메소드를 크게 사용하여 대형 JSON 파일에서 데이터를 얻는 개발자가 작성했습니다. 스크립트를 다시 작성하여 대신 () 루프의 표준 js를 사용하고 나중에 몇 가지 속도 테스트를 실행하면 ()를 사용하면 ()를 사용하면 20 배 이상 더 빠른 것으로 나타났습니다.

예,하지만 당신은 그것에 집착해서는 안됩니다 :)

문서 모델이 요소 내부에 나타나는 텍스트에 의해 어떤 식 으로든 색인화되어 있다고 생각하지 않기 때문에 포함하는 것은 비교적 느릴 수 있습니다.

그러나 나는 무언가를 과민하고 최적화를 위해 최적화하려고 시도하는 것이 현명한지 확실하지 않습니다. 작동하고 테스트 한 다음 문제가있는 경우 최적화하는 가장 간단한 것을 찾으십시오.

jQuery 또는 플러그인을 사용하는 이점 (크로스 브라우저 호환성, 매우 유용한 기능)이 속도 감소로 인해 단일 인스턴스가 발생하지 않았습니다. 그리고 나는 때때로 꽤 큰 웹 페이지와 함께 일합니다.

어쨌든, 당신이 알게 될 유일한 방법은 그것을 시도하는 것입니다. 처음에는 가능한 가장 현명한 방식으로 코드를 작성하십시오. 너무 느리면 최적화 할 수 있습니다.

DOM 트래버스 최적화
http://www.learningjquery.com/2006/12/quick-tip-optimizing-dom-traversal

아니요, 코드 작성 방식에 영향을 미치지 않기 때문에 신경 쓰지 않아야합니다.

즉, 좋은 연습이기 때문에 항상 효율적인 JavaScript를 작성해야합니다. 대부분의 사이트에서는 특정 사용자가 어떤 브라우저를 실행하는지 전혀 모르므로 최악의 상황을 알 수 있습니다.

예, 당신은 걱정해야하지만 운 좋게도 jQuery 팀은 걱정 스럽습니다.

최근 jQuery 내부에 대한 변경 (마지막 두 슬라이드 확인)

과도하게 최적화하지 말고 필요한만큼 최적화하십시오.

느리면, 당신은 정말로 선택의 여지가 없습니다. 그러나 그렇지 않다면 왜 귀찮게하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top