⊗jsPmClCNL 264 of 505 menu

Lokal tællevariabel i JavaScript

Overvej følgende kode:

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

Hvorfor vil den altid udskrive tallet 1? For at forstå dette, lad os omskrive vores kode på en anden måde:

function test() { let num = 1; return function() { console.log(num); num++; }; }; let func1 = test(); //!! første funktion func1(); //udskriver 1 let func2 = test(); //!! anden funktion func2(); //udskriver 1

Det vil sige, at hvert kald til funktionen test på denne måde: test()(), skaber sin egen funktion med sit eget closure og kalder straks denne funktion.

Bestem, uden at køre koden, hvad der vil blive udskrevet i konsollen:

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

Bestem, uden at køre koden, hvad der vil blive udskrevet i konsollen:

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