Método apply

El método apply permite llamar a una función con un contexto dado. El primer parámetro del método debe ser el contexto de la función, y el segundo - un array de parámetros de la función.

Sintaxis

javascriptfunción.apply(contexto, array de parámetros);

Ejemplo

Supongamos que tenemos un input:

html<input id="elem" value="text">

Supongamos también que tenemos una función que acepta tres parámetros:

javascriptfunction func(param1, param2, param3) {
  console.log(this.value + param1 + param2 + param3);
}

Llamemos a nuestra función de modo que this dentro de la función sea igual a nuestro input, y al mismo tiempo pasándole como parámetros los números 1, 2 y 3:

javascriptlet elem = document.querySelector('#elem');
func.apply(elem, [1, 2, 3]);

Ejemplo

Supongamos que la función no acepta parámetros:

javascriptfunction func() {
  console.log(this.value);
}

En este caso, al llamar a esta función a través de apply es suficiente pasar solo el primer parámetro con el contexto:

javascriptlet elem = document.querySelector('#elem');
func.apply(elem);

Véase también

  • método call,
    que llama a una función con contexto
  • método bind,
    que vincula el contexto a una función