⊗jsPmClCNL 264 of 505 menu

ლოკალური ცვლადი-თვლელის ფუნქცია JavaScript-ში

განვიხილოთ შემდეგი კოდი:

function test() { let num = 1; return function() { console.log(num); num++; }; } test()(); // გამოიტანს 1-ს test()(); // გამოიტანს 1-ს

რატომ გამოიტანს ყოველთვის რიცხვს 1? იმისთვის, რომ ეს გავიგოთ, გადმოვწეროთ ჩვენი კოდი სხვანაირად:

function test() { let num = 1; return function() { console.log(num); num++; }; }; let func1 = test(); //!! პირველი ფუნქცია func1(); //გამოიტანს 1-ს let func2 = test(); //!! მეორე ფუნქცია func2(); //გამოიტანს 1-ს

ანუ ფუნქციის test-ის ყოველი გამოძახება ამ გზით: test()(), ქმნის თავის ფუნქციას თავისი ჩაკეტვით და მაშინვე იძახებს ამ ფუნქციას.

განსაზღვრეთ, კოდის გაშვების გარეშე, რა გამოიტანს კონსოლში:

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

განსაზღვრეთ, კოდის გაშვების გარეშე, რა გამოიტანს კონსოლში:

function func() { let num = 0; return function() { console.log(num); num++; }; } let test = func; test()(); test()(); test()();
ქართული
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა