⊗jsPmFCCl 274 of 505 menu

Uzávěry a okamžité volání funkcí v JavaScriptu

Jak již víte, je možné anonymní funkci zavolat okamžitě a výsledek její práce přiřadit nějaké proměnné:

let result = function() { return '!'; }(); console.log(result); // vypíše '!'

Funkci, která se volá okamžitě, se v takovém případě často bere do kulatých závorek, i když to není nutné. Dělá se to proto, aby bylo ihned vidět, že se funkce volá okamžitě:

let result = (function() { return '!'; })(); console.log(result); // vypíše '!'

Nechť je nyní výsledkem okamžitě volané funkce anonymní funkce:

let func = (function() { return function() { console.log('!'); } })(); func(); // vypíše '!'

Udělejme to tak, aby vrácená funkce uchovávala v uzávěru proměnnou num:

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

Pokud přidáme ještě num++, stane se funkce func hotovým čítačem:

let func = (function() { let num = 1; return function() { console.log(num); num++; } })(); func(); // vypíše 1 func(); // vypíše 2 func(); // vypíše 3 func(); // vypíše 4 func(); // vypíše 5

Bez nahlížení do mého kódu samostatně implementujte stejný čítač.

Upravte činnost čítače tak, aby počítal do 5 a poté se počítání začalo znovu.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικά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
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout