Call metodas

Metodas call leidžia iškviesti funkciją su nurodytu kontekstu. Pirmuoju parametru metodo reikia nurodyti funkcijos kontekstą, o likusiais parametrais - funkcijos parametrus.

Sintaksė

javascriptfunkcija.call(kontekstas, parametras1, parametras2...);

Pavyzdys

Tarkime, kad turime įvesties lauką:

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

Tarkime, kad taip pat yra funkcija, priimanti tris parametrus:

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

Iškvieskime mūsų funkciją taip, kad this funkcijos viduje būtų lygus mūsų įvesties laukui, ir kartu perduokime jai parametrus skaičius 1, 2 ir 3:

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

Pavyzdys

Tarkime, funkcija nepriima parametrų:

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

Šiuo atveju iškviečiant šią funkciją per call pakanka perduoti tik pirmą parametrą su kontekstu:

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

Taip pat žiūrėkite

  • metodas apply,
    kuris iškviečia funkciją su kontekstu
  • metodas bind,
    kuris pririša kontekstą prie funkcijos