⊗jsPmFCCl 274 of 505 menu

Fermetures et invocation de fonction immédiate en JavaScript

Comme vous le savez déjà, il est possible d'appeler une fonction anonyme immédiatement et d'assigner le résultat de son exécution à une variable :

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

Souvent, la fonction invoquée immédiatement est placée dans des parenthèses, bien que ce ne soit pas nécessaire. Ceci est fait pour qu'il soit immédiatement visible que la fonction est appelée sur place :

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

Supposons maintenant que le résultat de la fonction invoquée immédiatement soit une fonction anonyme :

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

Faisons en sorte que la fonction retournée stocke dans sa fermeture la variable num :

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

Si on ajoute un num++, alors la fonction func deviendra un compteur prêt à l'emploi :

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

Sans regarder mon code, implémentez vous-même un compteur similaire.

Modifiez le fonctionnement du compteur pour qu'il compte jusqu'à 5, puis recommence à zéro.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser