⊗jsPmClCNL 264 of 505 menu

Lokalna zmienna licznika w JavaScript

Rozważmy następujący kod:

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

Dlaczego zawsze będzie wypisywana liczba 1? Aby to zrozumieć, przepiszmy nasz kod inaczej:

function test() { let num = 1; return function() { console.log(num); num++; }; }; let func1 = test(); //!! pierwsza funkcja func1(); //wypisze 1 let func2 = test(); //!! druga funkcja func2(); //wypisze 1

Czyli każde wywołanie funkcji test w ten sposób: test()(), tworzy swoją funkcję z własnym domknięciem i natychmiast wywołuje tę funkcję.

Określ, bez uruchamiania kodu, co zostanie wypisane w konsoli:

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

Określ, bez uruchamiania kodu, co zostanie wypisane w konsoli:

function func() { let num = 0; return function() { console.log(num); num++; }; } let test = func; test()(); test()(); test()();
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć