Nunca dejarás de ser sorprendido por JavaScript. En este rápido consejo, te mostraré cómo utilizar los métodos de JavaScript., llamada
y aplicar
, Para llamar a sus funciones de otros objetos. No sé a qué me refiero? Empecemos!
Aquí está el escenario: tenemos dos objetos:
var joe = nombre: "Joe", saludo: función (nombre) alerta (this.name + "dice hola a" + nombre); ; var jill = nombre: "Jill";
Es bastante simple hacer que Joe salude a Jill:
joe.greet ("Jill");
Pero, ¿cómo podemos hacer que Jill salude a Joe? Ella no tiene un método de saludo (y asumamos que no podemos / no / no deberíamos darle uno). Bueno, como todo en JavaScript, incluidas las funciones, es un objeto, todo puede tener un método o una función a la que se puede llamar. A las funciones se les dan dos métodos que te permiten llamarlas en diferentes contextos.
El contexto de un método es básicamente el objeto que será esta
Cuando se llama la función. En nuestro saludar
método, esta
se refiere al objeto joe
, porque eso es lo que es una parte de.
Ahora, intente esto:
joe.greet.call (jill, "Joe");
los llamada
El método de las funciones de JavaScript le permite cambiar el contexto de la función. El primer parámetro que pasemos será el nuevo contexto: en este caso, eso es Jill
. Los parámetros subsiguientes son los parámetros a la función que está llamando. En este caso, "Joe" se pasará a saludar
. Si ejecuta esto, obtendrá un cuadro de alerta con el mensaje "Jill dice hola a Joe".
También hay un aplicar
método; la única diferencia es que toma los parámetros del método como una matriz, en lugar de como parámetros sin procesar, a la la llamada
método.
joe.greet.call (jill, ["Joe"]);
Si tiene dificultades para recordar si es llamada
o aplicar
que toma la matriz, recuerda que unaaplicar
y unalos dos comienzan con "una.”
Gracias por leer!