JavaScript-Funktion-Apply

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

Probieren Sie es selbst aus

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"]);

Probieren Sie es selbst aus

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");

Probieren Sie es selbst aus

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

Probieren Sie es selbst aus

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

Probieren Sie es selbst aus

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

Probieren Sie es selbst aus

Beispiel

Math.max.apply(" ", [1,2,3]); // wird auch 3 zurückgeben

Probieren Sie es selbst aus

Beispiel

Math.max.apply(0, [1,2,3]); // wird auch 3 zurückgeben

Probieren Sie es selbst aus

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.