⊗jsPmFNOIP 250 of 505 menu

Parameters van externe en interne functies in JavaScript

Laten we ervoor zorgen dat zowel de externe functie als de interne parameters accepteren:

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

Laten we de parameter van de externe functie doorgeven aan de aanroep van de interne functie:

function test(num) { function func(localNum) { console.log(localNum); // geeft 1 weer } func(num); //!! geven parameter door } test(1); // geven een getal als parameter door

Het resultaat is dat in de interne functie de variabele num beschikbaar zal zijn als een externe variabele van de bovenliggende functie en de variabele localNum, die een lokale variabele is van de interne functie.

Beide variabelen zullen dezelfde waarden hebben:

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

Het verschil tussen hen zal als volgt zijn: als in de interne functie de variabele num wordt gewijzigd - zal deze ook veranderen in de externe functie:

function test(num) { function func(localNum) { num = 2; // veranderen de variabele num } func(num); // geven parameter door console.log(num); // geeft 2 weer } test(1); // geven een getal als parameter door

En de variabele localNum zal lokaal zijn. Veranderingen erin zullen niet leiden tot enige veranderingen in de externe functie. En de variabele localNum zelf zal niet zichtbaar zijn buiten de interne functie:

function test(num) { function func(localNum) { localNum = 2; // veranderen de variabele num } func(num); // geven parameter door } test(1); // geven een getal als parameter door

Bepaal, zonder de code uit te voeren, wat er in de console wordt weergegeven:

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

Bepaal, zonder de code uit te voeren, wat er in de console wordt weergegeven:

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

Bepaal, zonder de code uit te voeren, wat er in de console wordt weergegeven:

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

Bepaal, zonder de code uit te voeren, wat er in de console wordt weergegeven:

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

Bepaal, zonder de code uit te voeren, wat er in de console wordt weergegeven:

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

Bepaal, zonder de code uit te voeren, wat er in de console wordt weergegeven:

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