⊗jsPmFCCl 274 of 505 menu

Sulkeumat ja välitön funktion kutsu JavaScriptissä

Kuten jo tiedät, nimetöntä funktiota voidaan kutsua välittömästi ja antaa sen toiminnan tulos jollekin muuttujalle:

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

Usein välittömästi kutsuttava funktio suljetaan tällöin pyöreisiin sulkeisiin, vaikka siihen ei ole varsinaista tarvetta. Tämä tehdään sen vuoksi, että on heti nähtävissä, että funktiota kutsutaan välittömästi:

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

Tehdään nyt niin, että välittömästi kutsutun funktion tuloksena on nimetön funktio:

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

Tehdään nyt niin, että palautettu funktio säilyttää sulkeumassaan muuttujan num:

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

Jos lisätään vielä num++, niin funktio func muuttuu valmiiksi laskuriksi:

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

Älä katsomatta koodiini, toteuta vastaava laskuri itse.

Muokkaa laskurin toimintaa siten, että se laskee 5:een asti, minkä jälkeen laskeminen alkaa alusta.

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ää