⊗jsPmClCNG 265 of 505 menu

Globalna spremenljivka števca v JavaScript

Postavimo spremenljivko num zunaj funkcij, s čimer jo naredimo globalno:

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

V tem primeru bodo vse vrnjene funkcije spreminjale to globalno spremenljivko in števci bodo delovali odvisno drug od drugega:

let num = 1; function test() { return function() { console.log(num); num++; }; } let func1 = test(); // prvi števec func1(); // izpiše 1 func1(); // izpiše 2 let func2 = test(); // drugi števec func2(); // izpiše 3 func2(); // izpiše 4

Zakaj je naša prejšnja koda ustvarila neodvisne števce? Spomnimo se te kode:

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

Bistvo je v tem, da je spremenljivka num lokalna znotraj funkcije test. Zato vsak klic test ustvari svojo lokalno spremenljivko.

Zato se bodo vrnjene funkcije sklicevale vsaka na svojo lokalno spremenljivko funkcije test. Prav tako se doseže neodvisnost delovanja.

Če naredimo num globalno spremenljivko - bo to prav tako zaklepanje. Preprosto leksikalna okolja vrnjenih funkcij se sklicujejo na isto spremenljivko num - vse spremembe te spremenljivke bodo vidne v vseh funkcijah.

Določite, brez zaganjanja kode, kaj se bo izpisalo v konzolo:

let counter = 0; function test() { return function() { console.log(counter); counter++; }; } let func = test; let func1 = func(); let func2 = func(); func1(); func2(); func1(); func2();

Določite, brez zaganjanja kode, kaj se bo izpisalo v konzolo:

function test() { let counter = 0; return function() { return function() { console.log(counter); counter++; }; }; } let func = test()(); let func1 = func; let func2 = func; func1(); func2(); func1(); func2();

Določite, brez zaganjanja kode, kaj se bo izpisalo v konzolo:

function test() { let counter = 0; return function() { return function() { console.log(counter); counter++; }; }; } let func = test(); let func1 = func(); let func2 = func(); func1(); func2(); func1(); func2();
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
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni