⊗jsPmClCr 263 of 505 menu

Kihesabu Kufunga kwa JavaScript

Wacha tuandike tena msimbo tuliochukua ili kitendakazi kilichorejeshwa kila wakati kuongeza thamani ya kutofautisha num kwa moja:

function test() { let num = 1; return function() { console.log(num); num++; // ongeza moja } } let func = test();

Inabadilika kuwa kila wito wa kitendakazi func kitatumia console kutoa thamani mpya:

function test() { let num = 1; return function() { console.log(num); num++; } } let func = test(); func(); //itaonyesha 1 func(); //itaonyesha 2 func(); //itaonyesha 3 func(); //itaonyesha 4 func(); //itaonyesha 5

Inabadilika kuwa tumetekeleza kihesabu cha wito wa vitendakazi, tukitumia kufunga (kwa usahihi zaidi kutumia kutofautisha num kutoka kufunga kwa kitendakazi chetu).

Kumbuka kuwa kila wito wa kitendakazi test utarejesha kitendakazi kipya, ambacho kitakuwa na kufunga kwake mwenyewe. Hii ina maana vihesabu tofauti vitafanya kazi kwa kujitegemea:

function test() { let num = 1; return function() { console.log(num); num++; }; } let func1 = test(); // kihesabu cha kwanza func1(); //itaonyesha 1 func1(); //itaonyesha 2 let func2 = test(); // kihesabu cha pili func2(); //itaonyesha 1 func2(); //itaonyesha 2

Inabadilika kuwa kutofautisha num kile kile kwa vitendakazi tofauti kitakuwa na thamani tofauti!

Hii ina maana ikiwa tutaita kitendakazi test mara mbili, basi vitendakazi vitakavyopatikana kutoka humo vitafanya kazi kwa njia huru na kila moja ya hivi vitendakazi kitakuwa na kutofautisha kwa kujitegemea num.

Wewe mwenyewe, bila kuangalia kwenye msimbo wangu, itekeleze kihesabu cha wito wa kitendakazi, kinachofanya kazi kwa kufunga.

Acha kitendakazi katika kufunga kihifadhi nambari 10. Fanya hivi, ili kila wito wa kitendakazi upunguze nambari hii kwa 1 na uonyeshe kwenye console nambari iliyopunguzwa.

Badilisha shida iliyotangulia ili kuhesabu kufikia 0, kisha kila wito unaofuata wa kitendakazi uonyeshe kwenye console ujumbe kwamba kuhesabu kumekwisha.

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