Fonction Apply JavaScript

méthode réutilisable

Par apply() Vous pouvez écrire des méthodes pour différents objets.

méthode apply() JavaScript

apply() La méthode avec call() Les méthodes sont très similaires :

Dans cet exemple,person de fullName La méthode a étéapplicationà person1:

Exemple

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

Essayez-le vous-même

La différence entre call() et apply()

La différence est :

call() Méthode acceptant les paramètres individuellement.

apply() Méthode acceptant les paramètres sous forme d'array.

Si vous souhaitez utiliser un array plutôt qu'une liste de paramètres, alors apply() Très pratique.

Méthode apply() avec paramètres

apply() Méthode acceptant les paramètres sous forme d'array :

Exemple

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

Essayez-le vous-même

et call() Méthode de comparaison :

Exemple

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

Essayez-le vous-même

Simuler la méthode max sur un tableau

Vous pouvez utiliser Math.max() La méthode trouve le nombre maximum (dans la liste des nombres) :

Exemple

Math.max(1,2,3); // Retournera 3

Essayez-le vous-même

Comme les tableaux JavaScript n'ont pas de méthode max(), vous pouvez appliquer Math.max() Méthode.

Exemple

Math.max.apply(null, [1,2,3]); // Retournera également 3

Essayez-le vous-même

Le premier paramètre (null) n'a aucune importance. Il n'est pas utilisé dans cet exemple.

Ces exemples donneront le même résultat :

Exemple

Math.max.apply(Math, [1,2,3]); // Retournera également 3

Essayez-le vous-même

Exemple

Math.max.apply(" ", [1,2,3]); // Retournera également 3

Essayez-le vous-même

Exemple

Math.max.apply(0, [1,2,3]); // Retournera également 3

Essayez-le vous-même

Mode strict JavaScript

Dans le mode strict de JavaScript, si apply() Si le premier paramètre de la méthode n'est pas un objet, il deviendra le propriétaire de la fonction appelée (objet). Dans le mode "non strict", il deviendra l'objet global.