JavaScript-Funktion-Apply
- Vorherige Seite JS-Funktion Call
- Nächste Seite JS-Funktion binden
Methode wiederverwenden
Durch apply()
Methode, können Sie Methoden für verschiedene Objekte schreiben.
JavaScript apply() Methode
apply()
Methode mit call()
Methode sehr ähnlich:
In diesem Beispiel,person
von fullName
Methode wirdAnwendungbis person1
:
Beispiel
var person = { fullName: function() { return this.firstName + " " + this.lastName; } } var person1 = { firstName: "Bill", lastName: "Gates", } person.fullName.apply(person1); // wird "Bill Gates" zurückgeben
Unterschiede zwischen call() und apply()
Unterschiede sind:
call()
Methode akzeptiert Parameter einzeln.
apply()
Methode akzeptiert Parameter in Array-Form.
Wenn Sie ein Array anstatt einer Parameterliste verwenden möchten, dann apply()
sehr praktisch.
Parameterbehaftete apply()-Methode
apply()
Methode akzeptiert Parameter in Array-Form:
Beispiel
var person = { fullName: function(city, country) { return this.firstName + " " + this.lastName + "," + city + "," + country; } } var person1 = { firstName:\"Bill\", lastName: "Gates" } person.fullName.apply(person1, ["Oslo", "Norway"]);
und call()
Methode-Vergleich:
Beispiel
var person = { fullName: function(city, country) { return this.firstName + " " + this.lastName + "," + city + "," + country; } } var person1 = { firstName:\"Bill\", lastName: "Gates" } person.fullName.call(person1, "Oslo", "Norway");
die Methode max auf Arrays nachahmen
Sie können Math.max()
Methode den größten Wert (aus der Liste der Zahlen) finden:
Beispiel
Math.max(1,2,3); // wird 3 zurückgeben
Da JavaScript-Arrays keine max()-Methode haben, können Sie Math.max()
Methode.
Beispiel
Math.max.apply(null, [1,2,3]); // wird auch 3 zurückgeben
Der erste Parameter (null) ist unwichtig. Er wird in diesem Beispiel nicht verwendet.
Diese Beispiele geben das gleiche Ergebnis zurück:
Beispiel
Math.max.apply(Math, [1,2,3]); // wird auch 3 zurückgeben
Beispiel
Math.max.apply(" ", [1,2,3]); // wird auch 3 zurückgeben
Beispiel
Math.max.apply(0, [1,2,3]); // wird auch 3 zurückgeben
JavaScript-strenger Modus
Im strengen JavaScript-Modus, wenn apply()
Wenn der erste Parameter nicht ein Objekt ist, wird es der Besitzer der aufgerufenen Funktion (Objekt) werden. Im "nicht strengen" Modus wird es zum globalen Objekt.
- Vorherige Seite JS-Funktion Call
- Nächste Seite JS-Funktion binden