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.

Bernstein
quelle
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.

issa marie tseng
quelle
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