Chiamata funzione Apply JavaScript

metodo riutilizzabile

attraverso apply() metodo, è possibile scrivere metodi per oggetti diversi.

metodo apply() JavaScript

apply() metodo con call() i metodi sono molto simili:

in questo esempio,person del fullName il metodo è statoapplicazionea person1:

Esempio

var person = {
    fullName: function() {
        return this.firstName + " " + this.lastName;
    }
}
var person1 = {
    firstName: "Bill",
    lastName: "Gates",
}
person.fullName.apply(person1);  // restituirà "Bill Gates"

Prova tu stesso

differenza tra call() e apply()

la differenza è:

call() metodo accetta parametri singolarmente.

apply() metodo accetta parametri in forma di array.

Se si desidera utilizzare un array invece di una lista di parametri, allora apply() molto comodo.

metodo apply() con parametri

apply() metodo accetta parametri in array:

Esempio

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

Prova tu stesso

e call() metodo di confronto:

Esempio

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

Prova tu stesso

Simulare il metodo max su un array

Puoi usare Math.max() Il metodo trova il numero più grande (nella lista di numeri):

Esempio

Math.max(1,2,3); // Restituirà 3

Prova tu stesso

Poiché gli array JavaScript non hanno il metodo max(), puoi applicare Math.max() Metodo

Esempio

Math.max.apply(null, [1,2,3]); // Restituirà anche 3

Prova tu stesso

Il primo parametro (null) non è importante. Non è utilizzato in questo esempio.

Questi esempi daranno risultati identici:

Esempio

Math.max.apply(Math, [1,2,3]); // Restituirà anche 3

Prova tu stesso

Esempio

Math.max.apply(" ", [1,2,3]); // Restituirà anche 3

Prova tu stesso

Esempio

Math.max.apply(0, [1,2,3]); // Restituirà anche 3

Prova tu stesso

Modalità "stretta" di JavaScript

In modalità "stretta" di JavaScript, se apply() Se il primo parametro non è un oggetto, diventerà il proprietario della funzione chiamata (oggetto). Nei modi "non strettamente" definiti, diventerà l'oggetto globale.