절대적으로 맞습니다!
왜 캐시
캐싱의 또 다른 장점은 코드 유지 관리이다. 선택기가 한 위치에만있는 경우 한 곳에서 선택기 만 변경하면됩니다. 나를 믿어 라. 그러면 코드를 유지할 때 더 쉬워진다.
체인
당신이 한 단계 더 갈 수 있지만 (적절한 경우), 체인 통화는 :
$('blah')
.doSomething()
.doSomethingElse()
.doOtherStuff();
이 2 가지 이유로 약간 더 좋다. 첫째, 여분의 변수를 사용하지 않으므로 소량의 메모리를 절약 할 수 있습니다. 두 번째로, 언어는 각 식별자 사용에 대한 검색을 수행하지 않으므로 더 빠릅니다.
는 그럼, 왜 사람들은 여전히 [다음] 그들이 어떤 더 잘 모르기 때문에 $()
이유 중 하나는 사람들이 $()
많이 사용이 사용합니까.
요소 선택이 더 느려졌 기 때문에 또 다른 이유가 있습니다. 하지만 브라우저의 대부분 기능과 마찬가지로 선택기를 사용하여 개체를 쿼리하는 것이 빠르게 최적화됩니다 (document.querySelectorAll
). 즉, 캐시하지 않거나 캐시하지 않는 것이 중요하므로 캐시하지 않도록 할 수 있습니다.
마지막으로,이 문제가 아니면 캐시에 더 빠른 하지하지 않음을 주장하려고 (빠른 구글에서 onetwo) 주위를 어슬렁 벤치 마크가 있습니다. 이러한 벤치 마크의 대부분에 대한 문제점과 그로부터 결론을 도출하는 것에 대해 매우주의해야한다고 제안한 이유는 예제의 DOM이 실제와 다르다는 것입니다. 지나치게 단순하다. 둘째, 셀렉터 역시 단순합니다. 물론 질의 처리는 번개처럼 빠르게 진행될 것이고 캐싱은 큰 차이를 만들지 않을 것입니다. 그러나 나는 결정적으로 만 찾지는 못합니다.
귀하의 사례가 벤치 마크의 사례와 비슷하다면 자신의 상황에 대한 결론을 이끌어 내고 캐싱이 문제가 될 수도 있습니다.
다음은 jQuery Fundamentals의 관련 섹션입니다. http://jqfundamentals.com/book/index.html#example-3.9 – Acorn