Call-metodi

Metodi call mahdollistaa funktion kutsun annetulla kontekstilla. Metodin ensimmäisenä parametrina tulee määrittää funktion konteksti, ja jäljellä olevina parametreina - funktion parametrit.

Syntaksi

javascriptfunktio.call(konteksti, parametri1, parametri2...);

Esimerkki

Oletetaan, että meillä on input-kenttä:

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

Oletetaan myös, että on annettu funktio, joka ottaa kolme parametria:

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

Kutsutaan funktiota siten, että this funktion sisällä vastaa input-kenttäämme, ja samalla välitetään sille parametreina numerot 1, 2 ja 3:

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

Esimerkki

Oletetaan, että funktio ei ota parametreja:

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

Tässä tapauksessa funktiota kutsuttaessa call-metodilla riittää välittää vain ensimmäinen parametri kontekstilla:

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

Katso myös

  • metodi apply,
    joka kutsuu funktiota kontekstilla
  • metodi bind,
    joka sitoo kontekstin funktioon