Parameter äußerer und innerer Funktionen in JavaScript
Lassen Sie uns dafür sorgen, dass sowohl die äußere Funktion als auch die innere Parameter akzeptieren:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum);
}
}
Geben wir den Parameter der äußeren Funktion an den Aufruf der inneren Funktion weiter:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum); // gibt 1 aus
}
func(num); //!! Parameter übergeben
}
test(1); // Zahl als Parameter übergeben
Es stellt sich heraus, dass in der inneren Funktion
die Variable num als äußere
Variable aus der Elternfunktion und die Variable
localNum, die eine lokale Variable der
inneren Funktion ist, verfügbar sein werden.
Beide diese Variablen werden die gleichen Werte haben:
javascriptfunction test(num) {
function func(localNum) {
console.log(num); // gibt 1 aus
console.log(localNum); // gibt 1 aus
}
func(num);
}
test(1);
Der Unterschied zwischen ihnen wird folgender sein: wenn
in der inneren Funktion die Variable
num geändert wird - ändert sie sich auch in der äußeren Funktion:
javascriptfunction test(num) {
function func(localNum) {
num = 2; // Variable num ändern
}
func(num); // Parameter übergeben
console.log(num); // gibt 2 aus
}
test(1); // Zahl als Parameter übergeben
Die Variable localNum hingegen wird lokal sein.
Ihre Änderungen werden zu keinen
Änderungen in der äußeren Funktion führen. Und die
Variable localNum selbst wird
außerhalb der inneren Funktion nicht sichtbar sein:
javascriptfunction test(num) {
function func(localNum) {
localNum = 2; // Variable num ändern
}
func(num); // Parameter übergeben
}
test(1); // Zahl als Parameter übergeben
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum);
}
func(num);
}
test(1);
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum);
}
func(num + 1);
}
test(1);
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
javascriptfunction test(num) {
function func(localNum) {
console.log(num);
}
func(num + 1);
}
test(1);
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
javascriptfunction test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(num);
}
test(1);
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
javascriptfunction test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(localNum);
}
test(1);
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
javascriptfunction test(num) {
function func(localNum) {
num = 2;
}
func(num);
console.log(num);
}
test(1);