Método call

El método call 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 los parámetros restantes - los parámetros de la función.

Sintaxis

javascriptfunción.call(contexto, parámetro1, parámetro2...);

Ejemplo

Supongamos que tenemos un input:

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

Supongamos también una función que toma 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.call(elem, 1, 2, 3);

Ejemplo

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

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

En este caso, al llamar a esta función mediante call es suficiente pasar solo el primer parámetro con el contexto:

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

Véase también

  • método apply,
    que llama a una función con contexto
  • método bind,
    que enlaza contexto a una función