⊗jsPmFNOIP 250 of 505 menu

Paramètres des fonctions externes et internes en JavaScript

Faisons en sorte que la fonction externe et la fonction interne acceptent toutes deux des paramètres :

function test(num) { function func(localNum) { console.log(localNum); } }

Passons le paramètre de la fonction externe à l'appel de la fonction interne :

function test(num) { function func(localNum) { console.log(localNum); // affichera 1 } func(num); //!! nous passons le paramètre } test(1); // passons un nombre en paramètre

Il en résulte que dans la fonction interne, la variable num sera accessible en tant que variable externe de la fonction parent et la variable localNum, qui est une variable locale de la fonction interne.

Ces deux variables auront les mêmes valeurs :

function test(num) { function func(localNum) { console.log(num); // affichera 1 console.log(localNum); // affichera 1 } func(num); } test(1);

La différence entre elles sera la suivante : si dans la fonction interne on modifie la variable num - elle changera aussi dans la fonction externe :

function test(num) { function func(localNum) { num = 2; // modifions la variable num } func(num); // passons le paramètre console.log(num); // affichera 2 } test(1); // passons un nombre en paramètre

Et la variable localNum sera locale. Ses modifications n'entraîneront aucun changement dans la fonction externe. Et la variable localNum elle-même ne sera pas visible en dehors de la fonction interne :

function test(num) { function func(localNum) { localNum = 2; // modifions la variable num } func(num); // passons le paramètre } test(1); // passons un nombre en paramètre

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

function test(num) { function func(localNum) { console.log(localNum); } func(num); } test(1);

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

function test(num) { function func(localNum) { console.log(localNum); } func(num + 1); } test(1);

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

function test(num) { function func(localNum) { console.log(num); } func(num + 1); } test(1);

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

function test(num) { function func(localNum) { localNum = 2; } func(num); console.log(num); } test(1);

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

function test(num) { function func(localNum) { localNum = 2; } func(num); console.log(localNum); } test(1);

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

function test(num) { function func(localNum) { num = 2; } func(num); console.log(num); } test(1);
azkaenidbn