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);