АКЦЫЯ: бясплатныя месячныя курсы па стварэнні сайтаў
на выбар: вёрстка, JavaScript, PHP, Python або фрэймворкі. Сёння апошні дзень для запісу! Націскай!
⊗jsPmFCCl 274 of 505 menu

Замыканні і выклік функцыі на месцы ў JavaScript

Як вы ўжо ведаеце, можна выклікаць ананімную функцыю на месцы і прысвоіць вынік працы якой-небудзь зменнай:

let result = function() { return '!'; }(); console.log(result); // выведзе '!'

Часта функцыю, якая выклікаецца на месцы, у такім выпадку бяруць у круглыя дужкі, хоць у гэтым і няма патрэбы. Гэта робіцца для таго, каб адразу было відаць, што функцыя выклікаецца на месцы:

let result = (function() { return '!'; })(); console.log(result); // выведзе '!'

Хай цяпер вынікам выкліканай на месцы функцыі будзе ананімная функцыя:

let func = (function() { return function() { console.log('!'); } })(); func(); // выведзе '!'

Давайце зробім так, каб якая вяртаецца функцыя захоўвала ў замыканні зменную num:

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

Калі дадаць яшчэ num++, то функцыя func стане гатовым лічыльнікам:

let func = (function() { let num = 1; return function() { console.log(num); num++; } })(); func(); //выведзе 1 func(); //выведзе 2 func(); //выведзе 3 func(); //выведзе 4 func(); //выведзе 5

Не падглядваючы ў мой код, самастойна рэалізуйце такі ж лічыльнік.

Мадыфікуйце працу лічыльніка так, каб ён лічыў да 5, а потым адлік пачынаўся зноў.

byenru