⊗jsPmCxCM 440 of 505 menu

Lidhja e kontekstit përmes metodës call në JavaScript

Pra, kemi kuptuar se si funksionon në të vërtetë this. Tani le të shqyrtojmë metodat që na lejojnë të caktojmë forcërisht në çfarë konteksti thirret një funksion (dmth të themi forcërisht, me çfarë barazohet this).

Metoda e parë që do të shqyrtojmë quhet call. Le të shohim se si funksionon me një shembull. Le të themi se kemi një input:

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

Le të marrim një referencë për këtë input dhe ta ruajmë atë në variablin elem:

let elem = document.querySelector('#elem');

Tani le të krijojmë funksionin func, brenda të cilit do të shfaqim this.value:

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

Për momentin funksioni ynë nuk e di se çfarë i referohet this. Po, sikur ta lidhim atë përmes addEventListener, atëherë do të dinte. Por ne nuk do ta bëjmë këtë. Në vend të kësaj, ne thjesht do ta thërrasim funksionin tonë, duke i thënë se this duhet të jetë i barabartë me elem.

Kjo bëhet kështu: func.call(elem). Ky kod është ekuivalent me thirrjen e thjeshtë të funksionit func kështu: func(), vetëm me kushtin që this të jetë i barabartë me elem.

Pra, sintaksa e metodës call është: funksion.call(objekt). Le të mbledhim gjithçka së bashku:

let elem = document.querySelector('#elem'); function func() { console.log(this.value); // do të shfaqë vlerën e inputit } func.call(elem);

Është dhënë funksioni:

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

Janë dhënë tre inpute:

<input id="elem1" value="text1"> <input id="elem2" value="text2"> <input id="elem3" value="text3">

Duke përdorur metodën call dhe funksionin func shfaqni në ekran value të secilit prej inputeve.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo