jquery performance addclass

jquery - ¿Debo usar "hasClass" antes de "addClass"?



performance (3)

Esta pregunta ya tiene una respuesta aquí:

He encontrado la siguiente secuencia de comandos que comprueba si un elemento tiene clase a , y si no, lo agrega:

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

Como jQuery no agregará la clase si ya existe, esto podría cambiarse a:

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

Sin embargo, ¿hay alguna mejora en el rendimiento mediante el uso de hasClass primero, o se está utilizando el mismo método que addClass hace de todos modos, y por lo tanto la duplicación de la lógica?



Por lo que vale, hay una mejora en el rendimiento con .hasClass() en mis pruebas limitadas: http://jsperf.com/jquery-hasclass-vs-addclass-and-removeclass

Sin embargo, incluso cuando el .removeClass() independiente .removeClass() varias veces más lento en Chrome, llega a aproximadamente 70,000 operaciones por segundo.