⊗jsPmCxBM 443 of 505 menu

Kufungia Muktadha Kupitia Njia bind katika JavaScript

Njia inayofuata bind inaruhusu kufungia muktadha kwa utendakazi milele. Kwa matokeo yake njia hii inarudisha utendakazi mpya, ambayo ndani yake this itakuwa na thamani iliyowekwa kwa ukali.

Tuangalie kwa mfano.

Tuchukulie tuna kichagizo (input):

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

Tuchukulie kiunga cha kichagizo hiki kimeandikwa kwenye kutofautisha elem:

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

Tuchukulie pia tuna utendakazi ufuatao func:

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

Wacha kwa kutumia bind tutengeneze utendakazi mpya, ambao utakuwa nakala ya utendakazi func, lakini this ndani yake itakuwa sawa na elem daima:

let newFunc = func.bind(elem);

Sasa katika kutofautisha newFunc kuna utendakazi. Wacha tuitanye, tukipeleka kigezo cha kwanza '1', na cha pili '2' (nakukumbusha, kwamba elem ina kichagizo chenye value, yenye thamani 'text'):

newFunc('1', '2');

Wacha tukusanye yote pamoja:

let elem = document.getElementById('elem'); function func(param1, param2) { console.log(this.value + param1 + param2); } let newFunc = func.bind(elem); newFunc('1', '2'); // itatoa 'text12'

Si lazima kuandika matokeo ya kazi ya bind kwenye utendakazi mpya newFunc, inatosha kubadilisha func. Baada ya hapo func itakuwa utendakazi kama ulivyokuwa, lakini kwa this iliyofungiwa kwa ukali:

func = func.bind(elem);

Tuchukulie kuna msimbo ufuatao:

<input id="elem" value="hello"> let elem = document.getElementById('elem'); function func(name, surname) { console.log(this.value + ', ' + name + ' ' + surname); } // hapa andika utungaji na bind() func('John', 'Smit'); // hapa inatakiwa itoe 'hello, John Smit' func('Eric', 'Luis'); // hapa inatakiwa itoe 'hello, Eric Luis'

Andika hapa panapoonyeshwa utungaji na njia bind ili this ndani ya utendakazi func uelekeze kwenye kichagizo kutoka kwenye kutofautisha elem daima.

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