Was ist die .apply jQuery-Funktion?


Antworten:


125

applyruft eine Funktion mit einer Reihe von Argumenten auf. Es ist nicht Teil von jQuery, sondern Teil von Javascript. Es wird jedoch in den jQuery-Dokumenten erwähnt:

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

Syntax:

somefunction.apply(thisObj, [argsArray])

Das Obige ruft die Funktion auf somefunction, setzt thisauf thisObjinnerhalb des Funktionsumfangs und übergibt die Argumente von argsArrayals Argumente an die Funktion.


2
Verwandt ist die Funktion [ .call () ] ( mdn.beonex.com/de/Core_JavaScript_1.5_Reference/Global_Objects/… ), die ebenfalls a akzeptiert , thisgefolgt von einer Reihe einzeln aufgelisteter Argumente anstelle eines Arrays mit den Argumenten .
Peter Ajtai

Was wird unten tun als? $ .when.apply (null, Objekt) .done (Rückruf);
Gohel Kiran

@ user1531437 Dieser Aufruf $.when(object).done(callback);, aber in der Funktion $.when, thiswird auf den ersten Parameter gesetzt, dh null. Wohl sollte man verwenden, $.when.call(null, object).done(callback);weil der zweite Parameter von .applyein Array sein soll
Luke Madhanga

Fern verwandt war die jQuery-Proxy-Funktion , die nützlich ist, um den Wert thisder Kontextvariablen zu ändern , wie es Javascript native applykann
The Red Pea

5

Im Wesentlichen ruft apply eine Funktion auf, wobei der Kontext auf das Objekt festgelegt wird, auf das Sie die Funktion anwenden. Dies bedeutet, dass sich die Referenzierung innerhalb der Funktion thisauf dieses Objekt bezieht.


Für alle, die mit jQuery arbeiten und zu dieser Antwort gelangen, müssen Sie $(this)das zugehörige jQuery-Objekt abrufen und auf jQuery-Methoden zugreifen.
R. Schreurs

@ R.Schreurs auch müssen Sie das jQuery.fn-Objekt verwenden, wie hier gezeigt: stackoverflow.com/a/27374435/674033
AVProgrammer
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.