Globale Variablen und Funktionsparameter in JavaScript

Nehmen wir an, wir haben eine Funktion, die eine Zahl als Parameter entgegennimmt:

javascriptfunction func(localNum) {
  console.log(localNum);
}

Nehmen wir an, außerhalb der Funktion gibt es eine Variable num:

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1; // externe globale Variable

Rufen wir unsere Funktion auf und übergeben ihr die Variable num als Parameter:

javascriptfunction 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:

javascriptfunction 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:

javascriptfunction 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:

javascriptfunction 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:

javascriptfunction 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:

javascriptfunction func(localNum) {
  let num = 2; // mit let deklarieren
}

let num = 1;
func(num);
console.log(num); // gibt 1 aus - nichts hat sich geändert
Задание 1

Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:

javascriptfunction func(localNum) {
  console.log(localNum);
}

func(1);
Задание 2

Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1;
func(num);
Задание 3

Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1;
func(num);
num = 2;
Задание 4

Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:

javascriptlet num = 1;

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

num = 2;
func(num);
Задание 5

Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:

javascriptfunction func(localNum) {
  localNum = 2;
}

let num = 1;
func(num);
console.log(num);
Задание 6

Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:

javascriptfunction func(localNum) {
  num = 2;
}

let num = 1;
func(num);
console.log(num);
Задание 7

Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:

javascriptfunction func(localNum) {
  let num = 2;
}

let num = 1;
func(num);
console.log(num);