⊗jsPmCxCM 440 of 505 menu

Kufungia Mazingira Kupitia Njia call katika JavaScript

Kwa hivyo, tumechambua jinsi this inavyofanya kazi kweli. Wacha sasa tuzingatie njia zinazoruhusu kubainisha kwa lazima, ni katika mazingira gani kitendo kinapoitwa (yaani kusema kwa lazima, this ni sawa na nini).

Njia ya kwanza tutakayochambua, inaitwa call. Wacha tuangalie kazi yake kwa kutumia mfano. Hebu tuseme tuna kiingilio:

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

Wacha tupate kiungo cha kiingilio hiki na tukiandika katika kigezo elem:

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

Wacha sasa tutengeneze kitendo func, ndani yake tutaonyesha this.value:

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

Kwa sasa kitendo chetu hakijui, this inakirejelea nini. Ingetakuwa vizuri, kama tungeliifunga kupitia addEventListener, basi ndio. Lakini hatutafanya hivyo. Badala yake tutaitta kitendo chetu, tukiambia kuwa this lazima iwe sawa na elem.

Hii inafanywa hivi: func.call(elem). Msimbo huu ni sawa na kuitta kitendo func kwa kawaida hivi: func(), lakini kwa sharti kwamba this ni sawa na elem.

Kwa hivyo, sintaksia ya njia call ni: kitendo.call(kitu). Wacha tukusanye yote pamoja:

let elem = document.querySelector('#elem'); function func() { console.log(this.value); // itaonyesha value ya kiingilio } func.call(elem);

Kitendo kimetolewa:

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

Viingilio vitano vimetolewa:

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

Kwa kutumia njia call na kitendo func onyesha kwenye skrini value ya kila kiingilio.

Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa