español - ¿Tiene sentido jQuery caché $(esto)?
prev jquery (2)
Buena pregunta, Jason. Me imagino que la función de selección de jQuery nota this
palabra clave de manera bastante eficiente. Dicho esto, tiene sentido no hacer llamadas repetidas al mismo selector si puede evitarlo. Aquí es donde el encadenamiento de métodos es útil:
$(this).hide().show().hide();
Si va a utilizar mucho el mismo selector en diferentes puntos de la misma función, probablemente haría una variable para almacenar el valor de retorno de la función del selector jQuery. A falta de eso, no me preocuparía por eso, porque realmente se realiza una cantidad muy pequeña de procesamiento ... especialmente porque estoy bastante seguro de que la biblioteca jQuery comprueba esta palabra clave (y un tipo de cadena) antes ejecuta cualquier expresión regular.
Todavía estoy aprendiendo sobre jQuery, pero no he podido encontrar una respuesta sólida. Sé que cada vez que usa el selector jQuery $(...)
hay un costo de rendimiento, pero ¿tiene $(this)
un costo significativo donde debe almacenarlo en caché antes de usarlo mucho?
var $this = $(this);
Si lo estás utilizando mucho, sí tiene sentido, o cadena, por ejemplo:
$(this).fadeIn().fadeOut().somethingElse();
Si es caro? No, no realmente en el gran esquema de las cosas ... pero si estás en un bucle, el costo se multiplica, así que es mejor almacenarlo en caché. Si lo está utilizando más de una vez, tiene sentido, supongo que la cantidad de sentido depende de la cantidad de rendimiento que importe para ese bit de código.