¿Cuál es la función .apply jQuery?


Respuestas:


125

applyllama a una función con un conjunto de argumentos. No es parte de jQuery, es parte del núcleo de Javascript. Sin embargo, se menciona en los documentos de jQuery:

http://docs.jquery.com/Types#Context.2C_Call_and_Apply

Sintaxis:

somefunction.apply(thisObj, [argsArray])

Las llamadas por encima de la función somefunction, el establecimiento thisde thisObjdentro del ámbito de la función, y que pasan en los argumentos de argsArrayque los argumentos de la función.


2
Relacionada está la función [ .call () ] ( mdn.beonex.com/en/Core_JavaScript_1.5_Reference/Global_Objects/… ) que también toma a this, pero va seguida de una serie de argumentos enumerados individualmente en lugar de una matriz que contiene los argumentos .
Peter Ajtai

¿Qué hará a continuación que? $ .when.apply (nulo, objeto) .done (devolución de llamada);
Gohel Kiran

@ user1531437 Eso llama $.when(object).done(callback);, pero en la función $.when, thisse establece en el primer parámetro, es decir null. Podría decirse que se debería usar $.when.call(null, object).done(callback);porque el segundo parámetro de .applyse supone que es una matriz
Luke Madhanga

La función de proxy jQuery estuvo relacionada a distancia , que es útil para cambiar el valor de, thises decir, la variable de contexto, la forma en que el nativo de Javascript applypuede hacerlo
The Red Pea

5

Básicamente, apply llamará a una función con el contexto establecido para el objeto al que aplica la función. Esto significa que dentro de la función, la referencia thisse referirá a ese objeto.


Para cualquiera que trabaje con jQuery y llegue a esta respuesta, deberá usar $(this)para obtener el objeto jQuery asociado y tener acceso a los métodos jQuery.
R. Schreurs

@ R.Schreurs también necesita usar el objeto jQuery.fn como se ve aquí: stackoverflow.com/a/27374435/674033
AVProgrammer
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.