⊗jsPmClCNL 264 of 505 menu

Tofauti ya Eneo la Kuta ya Kuhesabu katika JavaScript

Wacha tuzingatie msimbo ufuatao:

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

Kwa nini daima itakuwa inatoa nambari 1? Ili kuweza kuelewa hili, wacha tuandike tena msimbo wetu kwa njia tofauti:

function test() { let num = 1; return function() { console.log(num); num++; }; }; let func1 = test(); //!! chaguo za kukokotoa cha kwanza func1(); //itatoa 1 let func2 = test(); //!! chaguo za kukokotoa cha pili func2(); //itatoa 1

Hiyo ni, kila wito wa chaguo za kukokotoa test kwa njia hii: test()(), huunda chaguo za kukokotoa zake mwenyewe zenye kufunga kwao na mara moja huita chaguo za kukokotoa hizo.

Amua, bila kukimbiza msimbo, nini kitaonekana katika konsoli:

function func() { let num = 0; return function() { console.log(num); num++; }; } func()(); func()(); func()();

Amua, bila kukimbiza msimbo, nini kitaonekana katika konsoli:

function func() { let num = 0; return function() { console.log(num); num++; }; } let test = func; test()(); test()(); test()();
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