⊗jsPmClCNL 264 of 505 menu

Lokal tellervariabel i JavaScript

La oss se på følgende kode:

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

Hvorfor vil det alltid skrives ut tallet 1? For å forstå dette, la oss omskrive koden vår på en annen måte:

function test() { let num = 1; return function() { console.log(num); num++; }; }; let func1 = test(); //!! første funksjon func1(); //skriver ut 1 let func2 = test(); //!! andre funksjon func2(); //skriver ut 1

Det vil si at hvert kall til funksjonen test på denne måten: test()(), oppretter sin egen funksjon med sitt eget lukning og kjører umiddelbart denne funksjonen.

Bestem, uten å kjøre koden, hva som vil skrives ut i konsollen:

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

Bestem, uten å kjøre koden, hva som vil skrives ut i konsollen:

function func() { let num = 0; return function() { console.log(num); num++; }; } let test = func; test()(); test()(); test()();
Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis