Metoda call

Metoda call lejon thirrjen e një funksioni me një kontekst të caktuar. Parametri i parë i metodës duhet të jetë konteksti i funksionit, ndërsa parametrat e tjerë - parametrat e funksionit.

Sintaksa

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

Shembull

Le të kemi një input:

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

Le të kemi gjithashtu një funksion që pranon tre parametra:

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

Le ta thërrasim funksionin tonë në mënyrë që this brenda funksionit të jetë i barabartë me input-in tonë, dhe në të njëjtën kohë t'i kalojmë si parametra numrat 1, 2 dhe 3:

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

Shembull

Le të supozojmë se funksioni nuk pranon parametra:

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

Në këtë rast, kur thirret ky funksion përmes call, mjafton të kalojmë vetëm parametrin e parë me kontekstin:

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

Shihni gjithashtu

  • metoda apply,
    që thërret një funksion me kontekst
  • metoda bind,
    që lidh kontekstin me një funksion