현재 webperformance에 대한 나의 bachelorthesis를 쓰고 있으며 기대하지 않은 결과가 나타났습니다.jquery class-selector vs qualified class-selector
Paul Irish 또는 jquery 자체가 권장하기 때문에 항상 id에서 내려 오는 것이 가장 좋습니다.
http://learn.jquery.com/performance/optimize-selectors/
은 그래서는 $은 ('. 클래스') 느린 것을 예상 한 것보다 $ ('# ID가 클래스') 또는 $ ('# 아이디'). 찾기 ('. 클래스') .
나는 jsperf에 그것을 테스트하고 꽤 intersting 결과에 온 :
Results http://fs1.directupload.net/images/141230/5euuefin.png
그것은 정말 브라우저에 의존하는 것 같아,하지만 난 정말 $를 기대하지 않았다 ('.class')를 사용하면 Chrome에서 특히 ID를 기반으로하는 사용자보다 더 빠르게 수행 할 수 있습니다.
나에게 맞는 것은 다음과 같은 설명이지만, 그 차이가 브라우저에 비해 큰 이유는 무엇입니까? 엔진이 그렇게 다른가요?
차이점은 단일 클래스 또는 ID 조회를 사용할 때 querySelector보다 빠른 getElementsByClassName 및 getElementById를 사용할 수 있다는 것입니다. 최신 브라우저에서는 10 배 빠릅니다.
출처 : http://jsperf.com/jquery-class-vs-tag-qualfied-class-selector/38
그래서 당신의 의견은 그것에 무엇인가? 귀하의 질문에 유일한 진짜 질문에 대한 대답에서
그 (강하게) 현대 브라우저는 클래스 항목 (뿐만 아니라 그들의 일반적인 빠른 ID 조회 테이블)을 캐시한다는 것을 나타냅니다. 추가 코드 오버 헤드 (id 검색 추가)가 느려집니다. 잘 알고 있습니다. –
정말 유용한 정보를 노출 했으므로 아래의 유일한 실제 질문에 대한 답변을 추가했습니다. +1 :) –