⊗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, ապա հաշվարկը սկսվի սկզբից։

Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել