Metóda call

Metóda call umožňuje volať funkciu s daným kontextom. Prvým parametrom metódy je kontext funkcie, a ďalšími parametrami - parametre funkcie.

Syntax

javascriptfunkcia.call(kontext, parameter1, parameter2...);

Príklad

Majme vstupné pole:

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

Nech je daná aj funkcia, ktorá prijíma tri parametre:

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

Zavolajme našu funkciu tak, aby this vo vnútri funkcie bol rovný nášmu vstupnému poľu, a zároveň jej odovzdajme parametre čísla 1, 2 a 3:

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

Príklad

Nech funkcia neprijíma parametre:

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

V tomto prípade pri volaní tejto funkcie prostredníctvom call stačí odovzdať iba prvý parameter s kontextom:

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

Pozri tiež

  • metóda apply,
    ktorá volá funkciu s kontextom
  • metóda bind,
    ktorá viaže kontext k funkcii