⊗jsPmFCCl 274 of 505 menu

Closures en directe functie-aanroep in JavaScript

Zoals je al weet, is het mogelijk om een anonieme functie direct aan te roepen en het resultaat aan een variabele toe te wijzen:

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

Vaak wordt een functie die direct wordt aangeroepen, in zo'n geval tussen ronde haakjes gezet, ook al is dit niet strikt noodzakelijk. Dit wordt gedaan zodat meteen duidelijk is dat de functie direct wordt aangeroepen:

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

Laten we nu ervoor zorgen dat het resultaat van de direct aangeroepen functie een anonieme functie is:

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

Laten we het zo maken dat de geretourneerde functie in de closure de variabele num opslaat:

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

Als we nog num++ toevoegen, dan wordt de functie func een volwaardige teller:

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

Zonder in mijn code te spieken, implementeer zelfstandig eenzelfde teller.

Pas de werking van de teller aan zodat hij telt tot 5, en daarna de telling opnieuw begint.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren