⊗jsPmFNFRF 252 of 505 menu

Funktsioon, mis tagastab funktsiooni JavaScriptis

Olgu meil selline funktsioon, mis tagastab stringi:

function func() { return '!'; } let result = func(); console.log(result); // kuvab '!'

Tagastame nüüd analoogia põhjal stringi asemel anonüümse funktsiooni:

function func() { return function() { return '!'; }; } let result = func(); // muutuja result sisu on funktsioon console.log(result); // kuvab 'function() {return '!';}'

Nagu näete, on muutuja result nüüd funktsioon. Väljutame konsooli tema töö tulemuse. Kirjutame selleks talle ümarsulud:

function func() { return function() { return '!'; }; } let result = func(); console.log( result() ); // kuvab '!'

Kuna func() kutsumine tagastab funktsiooni, siis võime kohe ka kutsuda seda tagastatud funktsiooni, niimoodi: func()() - esimesed ümarsulud saavad funktsiooni func tulemuse (mis ise on funktsioon), ja teised ümarsulud rakenduvad func tulemusele.

Proovime:

function func() { return function() { return '!'; }; } console.log( func()() ); // kuvab '!'

Tehke funktsioon func1, mis olles kutsutud niimoodi: func1()(), tagastab numbri 1. Tehke analoogiline funktsioon func2, mis tagastab numbri 2. Leidke nende funktsioonide tulemuste summa.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu