programing

"addClass" 전에 "hasClass"를 사용해야 합니까?

skycolor 2023. 9. 24. 12:42
반응형

"addClass" 전에 "hasClass"를 사용해야 합니까?

한 요소에 클래스가 있는지 확인하는 다음 스크립트를 발견했습니다.a, 그렇지 않은 경우 다음을 추가합니다.

if (!$("div").hasClass("a")){
   $("div").addClass("a");
}

클래스가 이미 있는 경우 jQuery가 클래스를 추가하지 않으므로 다음과 같이 변경할 수 있습니다.

$("div").addClass("a");

그러나 를 사용함으로써 성능 향상이 있습니까?hasClass첫째, 아니면 이것은 같은 방법을 사용하는 것입니까?addClass어쨌든, 그래서 논리를 복제하는 것입니까?

.hasClass()jQuery도 항상 내부에서 체크하기 때문에 체크는 유용하지 않습니다..addClass(). 그냥 추가 작업일 뿐입니다.

사용 시 클래스가 존재하는지 확인하는 것은 소스 코드 https://github.com/jquery/jquery/blob/master/src/attributes/classes.js#L38-L45 에서 확인할 수 있습니다.addClass.

그래서 사용할 이유가 없습니다..hasClass()이 경우에는..(요소에 클래스가 없는 경우에는 더 많은 작업을 수행할 수 있습니다.)

이를 통해 성능을 향상시킬 수 있습니다..hasClass()제한된 테스트에서: http://jsperf.com/jquery-hasclass-vs-addclass-and-removeclass

단, 독립된 상태에서도.removeClass()Chrome에서 몇 배 더 느린 속도로 보고되며, 초당 약 70,000번의 작업이 수행됩니다.

언급URL : https://stackoverflow.com/questions/13358887/should-i-use-hasclass-before-addclass

반응형