⊗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
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць