⊗jsPmClCNL 264 of 505 menu

Lokálna premenná počítadla v JavaScripte

Zvážme nasledujúci kód:

function test() { let num = 1; return function() { console.log(num); num++; }; } test()(); // vypíše 1 test()(); // vypíše 1

Prečo sa bude vždy vypisovať číslo 1? Aby smé to pochopili, prepíšme náš kód inak:

function test() { let num = 1; return function() { console.log(num); num++; }; }; let func1 = test(); //!! prvá funkcia func1(); //vypíše 1 let func2 = test(); //!! druhá funkcia func2(); //vypíše 1

To znamená, že každé volanie funkcie test týmto spôsobom: test()(), vytvorí svoju funkciu so svojou uzávierkou a okamžite zavolá túto funkciu.

Určite, bez spustenia kódu, čo sa vypíše do konzoly:

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

Určite, bez spustenia kódu, čo sa vypíše do konzoly:

function func() { let num = 0; return function() { console.log(num); num++; }; } let test = func; test()(); test()(); test()();
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť