⊗jsPmFNOIP 250 of 505 menu

Parametre for ydre og indre funktioner i JavaScript

Lad os gøre det således, at både den ydre funktion og den indre tager imod parametre:

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

Lad os sende parameteren fra den ydre funktion til kaldet af den indre funktion:

function test(num) { function func(localNum) { console.log(localNum); // vil udskrive 1 } func(num); //!! sender parameteren } test(1); // sender et tal som parameter

Det betyder, at i den indre funktion vil variablen num være tilgængelig som en ekstern variabel fra forælderfunktionen, og variablen localNum, som er en lokal variabel i den indre funktion.

Begge disse variabler vil have de samme værdier:

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

Forskellen mellem dem vil være følgende: hvis man ændrer variablen num i den indre funktion, vil den også ændres i den ydre funktion:

function test(num) { function func(localNum) { num = 2; // ændrer variablen num } func(num); // sender parameteren console.log(num); // vil udskrive 2 } test(1); // sender et tal som parameter

Mens variablen localNum vil være lokal. Ændringer af den vil ikke føre til nogen ændringer i den ydre funktion. Og selve variablen localNum vil ikke være synlig udenfor den indre funktion:

function test(num) { function func(localNum) { localNum = 2; // ændrer variablen num } func(num); // sender parameteren } test(1); // sender et tal som parameter

Bestem, uden at køre koden, hvad der vil blive udskrevet i konsollen:

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

Bestem, uden at køre koden, hvad der vil blive udskrevet i konsollen:

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

Bestem, uden at køre koden, hvad der vil blive udskrevet i konsollen:

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

Bestem, uden at køre koden, hvad der vil blive udskrevet i konsollen:

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

Bestem, uden at køre koden, hvad der vil blive udskrevet i konsollen:

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

Bestem, uden at køre koden, hvad der vil blive udskrevet i konsollen:

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