⊗jsPmFNFRF 252 of 505 menu

Funkcia vracejúca funkciu v JavaScripte

Majme napríklad takúto funkciu, ktorá vracia reťazec:

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

Teraz skúsme, analogicky, namiesto reťazca vrátiť anonymnú funkciu:

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

Ako vidíte, premenná result teraz predstavuje funkciu. Skúsme vypísať do konzoly výsledok jej volania. Napíšme za ňu okrúhle zátvorky:

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

Keďže volanie func() vracia funkciu, môžeme túto vrátenú funkciu okamžite aj zavolať, takto: func()() - prvé okrúhle zátvorky získajú výsledok funkcie func (ktorý sám je funkciou), a druhé okrúhle zátvorky sa aplikujú na výsledok func.

Skúsme to:

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

Vytvorte funkciu func1, ktorá keď sa zavolá takto: func1()(), vráti číslo 1. Vytvorte analogickú funkciu func2, vracejúcu číslo 2. Nájdite súčet výsledkov týchto funkcií.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť