⊗jsPmClCNL 264 of 505 menu

Variable locale de compteur en JavaScript

Considérons le code suivant :

function test() { let num = 1; return function() { console.log(num); num++; }; } test()(); // affichera 1 test()(); // affichera 1

Pourquoi le nombre 1 sera-t-il toujours affiché ? Pour le comprendre, réécrivons notre code différemment :

function test() { let num = 1; return function() { console.log(num); num++; }; }; let func1 = test(); //!! première fonction func1(); //affichera 1 let func2 = test(); //!! deuxième fonction func2(); //affichera 1

Autrement dit, chaque appel de la fonction test de cette manière : test()(), crée sa propre fonction avec sa propre fermeture et appelle immédiatement cette fonction.

Déterminez, sans exécuter le code, ce qui sera affiché dans la console :

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

Déterminez, sans exécuter le code, ce qui sera affiché dans la console :

function func() { let num = 0; return function() { console.log(num); num++; }; } let test = func; test()(); test()(); test()();
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