Llamada de función Apply de JavaScript

método reciclaje

A través de apply() Método, puede escribir métodos para diferentes objetos.

método apply() de JavaScript

apply() Método con call() Los métodos son muy similares:

En este ejemplo,person del fullName El métodoaplicara person1:

Ejemplo

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

Prueba por ti mismo

Diferencia entre call() y apply()

La diferencia es:

call() Método que acepta parámetros individualmente.

apply() Método que acepta parámetros en forma de array.

Si se desea usar un array en lugar de una lista de parámetros, apply() Muy conveniente.

Método apply() con parámetros

apply() Método que acepta parámetros en forma de array:

Ejemplo

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

Prueba por ti mismo

y call() Método comparativo:

Ejemplo

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

Prueba por ti mismo

simular el método max en un array

Puedes usar Math.max() Método encuentra el número más grande (de una lista de números):

Ejemplo

Math.max(1,2,3); // regresará 3

Prueba por ti mismo

Dado que los arrays de JavaScript no tienen un método max(), puedes aplicar Math.max() Método

Ejemplo

Math.max.apply(null, [1,2,3]); // también regresará 3

Prueba por ti mismo

El primer parámetro (null) no importa. No se utiliza en este ejemplo.

Estos ejemplos darán el mismo resultado:

Ejemplo

Math.max.apply(Math, [1,2,3]); // también regresará 3

Prueba por ti mismo

Ejemplo

Math.max.apply(" ", [1,2,3]); // también regresará 3

Prueba por ti mismo

Ejemplo

Math.max.apply(0, [1,2,3]); // también regresará 3

Prueba por ti mismo

Modo estricto de JavaScript

En el modo estricto de JavaScript, si apply() Si el primer parámetro no es un objeto, se convertirá en el propietario de la función llamada (objeto). En el modo 'no estricto', se convertirá en el objeto global.