2011-06-07 11 views
7

A menudo veo esto como la primera línea de un plug-in:

$this = $(this); 

Se trata sólo de la eficiencia, para evitar que el objeto jQuery cada vez?

+3

Respuesta corta: Sí. – Gumbo

Respuesta

6

Para almacenar en caché el objeto jQuery y no tener que crear una instancia cada vez que lo requieran.

2

Al igual que las respuestas anteriores dice que va a caché del objeto - más o menos.

Si llama al $(this) jQuery buscará en el DOM hasta que encuentre this -elemento. Si desea hacer muchos cambios en el elemento, será más rápido guardar la referencia en this -elemento.

$this = $(this); 

Ahora el elemento se guarda como el $this variabel y si usted quiere hacer las cosas a él de nuevo, sólo tiene que utilizar el variabel.

$this.hide(); //hides the element. 
+0

Entonces, ¿cuál es el "tipo de"? –

+0

@TNguyen. El término caché es un tidbit incorrecto (al menos en mi opinión). Guardará una referencia al objeto. Eso actuará como intermediario, eliminando la necesidad de buscar el DOM cada vez que quiera acceder al elemento. Cuando estoy hablando de caché, estoy pensando en el almacenamiento. Pero supongo que decir que "almacenar el elemento en caché" no está del todo mal, simplemente no es mi manera de describirlo. – Anders