⊗jsPmClCNL 264 of 505 menu

Lokal räknarvariabel i JavaScript

Betrakta följande kod:

function test() { let num = 1; return function() { console.log(num); num++; }; } test()(); // kommer att skriva ut 1 test()(); // kommer att skriva ut 1

Varför kommer alltid talet 1 att skrivas ut? För att förstå detta, låt oss skriva om vår kod på ett annat sätt:

function test() { let num = 1; return function() { console.log(num); num++; }; }; let func1 = test(); //!! den första funktionen func1(); //kommer att skriva ut 1 let func2 = test(); //!! den andra funktionen func2(); //kommer att skriva ut 1

Det vill säga, varje anrop till funktionen test på detta sätt: test()(), skapar sin egen funktion med sitt eget stängning och anropar omedelbart denna funktion.

Avgör, utan att köra koden, vad som kommer att skrivas ut i konsolen:

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

Avgör, utan att köra koden, vad som kommer att skrivas ut i konsolen:

function func() { let num = 0; return function() { console.log(num); num++; }; } let test = func; test()(); test()(); test()();
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa