⊗jsPmClCNL 264 of 505 menu

Vietinė skaitiklio kintamoji JavaScript

Panagrinėkime šį kodą:

function test() { let num = 1; return function() { console.log(num); num++; }; } test()(); // išvestų 1 test()(); // išvestų 1

Kodėl visada bus išvedamas skaičius 1? Norėdami tai suprasti, perrašykime mūsų kodą kitaip:

function test() { let num = 1; return function() { console.log(num); num++; }; }; let func1 = test(); //!! pirmoji funkcija func1(); //išvestų 1 let func2 = test(); //!! antroji funkcija func2(); //išvestų 1

Tai yra, kiekvienas funkcijos test iškvietimas šiuo būdu: test()(), sukuria savo funkciją su savo uždarąja funkcija ir iškart iškviečia tą funkciją.

Nustatykite, nepaleisdami kodo, kas bus išvesta į konsolę:

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

Nustatykite, nepaleisdami kodo, kas bus išvesta į konsolę:

function func() { let num = 0; return function() { console.log(num); num++; }; } let test = func; test()(); test()(); test()();
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti