Metoda call

Metoda call umožňuje volat funkci s daným kontextem. Prvním parametrem metody je kontext funkce, a dalšími parametry - parametry funkce.

Syntaxe

javascriptfunkce.call(kontext, parametr1, parametr2...);

Příklad

Předpokládejme, že máme input:

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

Předpokládejme také funkci, která přijímá tři parametry:

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

Zavolejme naši funkci tak, aby this uvnitř funkce byl roven našemu inputu, a při tom jí předáme parametry čísla 1, 2 a 3:

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

Příklad

Předpokládejme, že funkce nepřijímá parametry:

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

V tomto případě při volání této funkce přes call stačí předat pouze první parametr s kontextem:

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

Viz také

  • metoda apply,
    která volá funkci s kontextem
  • metoda bind,
    která váže kontext k funkci