Quelle est la fonction jQuery .apply?

Réponses:

125

applyappelle une fonction avec un ensemble d'arguments. Cela ne fait pas partie de jQuery, cela fait partie du noyau Javascript. Cependant, il est mentionné dans la documentation jQuery:

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

Syntaxe:

somefunction.apply(thisObj, [argsArray])

Les appels au- dessus de la fonction somefunction, la mise thisà l' thisObjintérieur du périmètre de la fonction, et en passant dans les arguments de argsArrayque les arguments de la fonction.

ambre
la source
2
La fonction [ .call () ] ( mdn.beonex.com/en/Core_JavaScript_1.5_Reference/Global_Objects/… ) prend également a this, mais elle est suivie d'une série d'arguments listés individuellement au lieu d'un tableau contenant les arguments .
Peter Ajtai
que fera ci-dessous que? $ .when.apply (null, objet) .done (rappel);
Gohel Kiran
@ user1531437 Cela appelle $.when(object).done(callback);, mais dans la fonction $.when, thisest défini sur le premier paramètre, à savoir null. On devrait sans doute utiliser $.when.call(null, object).done(callback);parce que le deuxième paramètre de .applyest censé être un tableau
Luke Madhanga
La fonction proxy jQuery , qui est utile pour changer la valeur de thisla variable de contexte, comme le natif de Javascript applypeut le faire
The Red Pea
5

Essentiellement, apply appellera une fonction dont le contexte est défini sur l'objet auquel vous appliquez la fonction. Cela signifie que dans la fonction, le référencement thisfera référence à cet objet.

issa marie tseng
la source
Pour toute personne travaillant avec jQuery et arrivant à cette réponse, vous devrez utiliser $(this) pour obtenir l'objet jQuery associé et avoir accès aux méthodes jQuery.
R. Schreurs
@ R.Schreurs vous devez également utiliser l'objet jQuery.fn comme vu ici: stackoverflow.com/a/27374435/674033
AVProgrammer