⊗jsPmClCNL 264 of 505 menu

Lokalna promenljiva brojača u JavaScript

Razmotrimo sledeći kod:

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

Zašto će uvek biti ispisivan broj 1? Da bismo ovo razumeli, prepišimo naš kod drugačije:

function test() { let num = 1; return function() { console.log(num); num++; }; }; let func1 = test(); //!! prva funkcija func1(); //ispisaće 1 let func2 = test(); //!! druga funkcija func2(); //ispisaće 1

To jest, svaki poziv funkcije test na ovaj način: test()(), kreira svoju funkciju sa svojim zatvorenjem i odmah poziva tu funkciju.

Odredite, ne pokretajući kod, šta će biti ispisano u konzolu:

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

Odredite, ne pokretajući kod, šta će biti ispisano u konzolu:

function func() { let num = 0; return function() { console.log(num); num++; }; } let test = func; test()(); test()(); test()();
Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij