Méthode call

La méthode call permet d'appeler une fonction avec un contexte donné. Le premier paramètre de la méthode doit être le contexte de la fonction, et les paramètres suivants - les paramètres de la fonction.

Syntaxe

javascriptfonction.call(contexte, paramètre1, paramètre2...);

Exemple

Supposons que nous ayons un input :

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

Supposons également une fonction prenant trois paramètres :

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

Appelons notre fonction de sorte que this à l'intérieur de la fonction soit égal à notre input, et en lui passant comme paramètres les nombres 1, 2 et 3 :

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

Exemple

Supposons que la fonction ne prenne pas de paramètres :

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

Dans ce cas, lors de l'appel de cette fonction via call, il suffit de passer uniquement le premier paramètre avec le contexte :

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

Voir aussi

  • la méthode apply,
    qui appelle une fonction avec un contexte
  • la méthode bind,
    qui lie un contexte à une fonction