Metoda call

Metoda call pozwala wywołać funkcję z zadanym kontekstem. Pierwszym parametrem metody należy wskazać kontekst funkcji, a pozostałymi parametrami - parametry funkcji.

Składnia

javascriptfunkcja.call(kontekst, parametr1, parametr2...);

Przykład

Załóżmy, że mamy pole input:

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

Załóżmy również, że dana jest funkcja przyjmująca trzy parametry:

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

Wywołajmy naszą funkcję tak, aby this wewnątrz funkcji był równy naszemu polu input, i jednocześnie przekazując jej jako parametry liczby 1, 2 i 3:

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

Przykład

Załóżmy, że funkcja nie przyjmuje parametrów:

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

W tym przypadku przy wywołaniu tej funkcji przez call wystarczy przekazać tylko pierwszy parametr z kontekstem:

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

Zobacz też

  • metoda apply,
    która wywołuje funkcję z kontekstem
  • metoda bind,
    która wiąże kontekst z funkcją