⊗jsPmFAFRF 252 of 505 menu

Funktio, joka palauttaa funktion JavaScriptissä

Oletetaan, että meillä on tällainen funktio, joka palauttaa merkkijonon:

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

Palautetaan nyt merkkijonon sijasta, analogisesti, anonyymi funktio:

function func() { return function() { return '!'; }; } let result = func(); // muuttuja result sisältää funktion console.log(result); // tulostaa 'function() {return '!';}'

Kuten näette, muuttuja result on nyt funktio. Tulostetaan konsoliin sen suorituksen tulos. Kirjoitetaan sitä varten pyöreät sulkeet:

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

Koska kutsuttaessa func() palautuu funktio, voimme heti kutsua myös tätä palautettua funktiota, näin: func()() - ensimmäiset pyöreät sulkeet saavat funktion func tuloksen (joka on itse funktio), ja toiset pyöreät sulkeet kohdistuvat tulokseen func.

Kokeillaan:

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

Tee funktio func1, joka kun kutsutaan näin: func1()(), palauttaa luvun 1. Tee vastaava funktio func2, joka palauttaa luvun 2. Löydä näiden funktioiden tulosten summa.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää