Metoda call

Metoda call permite apelarea unei funcții cu un context dat. Primul parametru al metodei trebuie să fie contextul funcției, iar restul parametrilor - parametrii funcției.

Sintaxă

javascriptfuncție.call(context, parametru1, parametru2...);

Exemplu

Să presupunem că avem un input:

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

Să presupunem că avem de asemenea o funcție care primește trei parametri:

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

Să apelăm funcția noastră astfel încât this în interiorul funcției să fie egal cu input-ul nostru, și în același timp să-i transmitem ca parametri numerele 1, 2 și 3:

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

Exemplu

Să presupunem că funcția nu primește parametri:

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

În acest caz, la apelarea acestei funcții prin call este suficient să transmițem doar primul parametru cu contextul:

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

Vedeți și

  • metoda apply,
    care apelează funcția cu context
  • metoda bind,
    care leagă contextul de funcție