Globale Variablen und Funktionsparameter in JavaScript
Nehmen wir an, wir haben eine Funktion, die eine Zahl als Parameter entgegennimmt:
function func(localNum) {
console.log(localNum);
}
Nehmen wir an, außerhalb der Funktion gibt es eine Variable num:
function func(localNum) {
console.log(localNum);
}
let num = 1; // externe globale Variable
Rufen wir unsere Funktion auf und übergeben ihr
die Variable num als Parameter:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num); // Funktion mit Parameter aufrufen, gibt 1 aus
Es ergibt sich, dass innerhalb der Funktion sowohl
die Variable localNum (Funktionsparameter)
als auch die Variable num (als
externe Variable) verfügbar sind:
function func(localNum) {
console.log(num); // gibt 1 aus
console.log(localNum); // gibt 1 aus
}
let num = 1;
func(num);
Die Variable localNum selbst wird eine lokale
Variable der Funktion sein und ist von außen nicht verfügbar:
function func(localNum) {
}
let num = 1;
func(num); // Funktion mit Parameter aufrufen
console.log(localNum); // gibt einen Fehler aus
Da die Variable localNum lokal ist,
werden Änderungen an ihr nichts außen verändern:
function func(localNum) {
localNum = 2; // ändert nichts außen
}
let num = 1;
func(num);
Wenn man jedoch innerhalb der Funktion die Variable num
(die globale) ändert, erscheinen die Änderungen auch außen:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num); // gibt 2 aus
Wenn man jedoch innerhalb der Funktion die Variable num
mit let deklariert, dann
erstellen wir auf diese Weise eine lokale Variable
num, die die externe Variable nicht beeinflusst:
function func(localNum) {
let num = 2; // mit let deklarieren
}
let num = 1;
func(num);
console.log(num); // gibt 1 aus - nichts hat sich geändert
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
function func(localNum) {
console.log(localNum);
}
func(1);
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
num = 2;
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
let num = 1;
function func(localNum) {
console.log(localNum);
}
num = 2;
func(num);
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
function func(localNum) {
localNum = 2;
}
let num = 1;
func(num);
console.log(num);
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
function func(localNum) {
let num = 2;
}
let num = 1;
func(num);
console.log(num);