Geltungsbereich verschachtelter Funktionen in JavaScript

Wenn eine Funktion eine andere Funktion enthält - sind die Variablen der äußeren Funktion in der inneren sichtbar:

javascriptfunction test() {
  let num = 1; // Variable der äußeren Funktion
  
  function func() {
    console.log(num); // gibt 1 aus
  }
  
  func(); // rufen die innere Funktion auf
}

test(); // rufen die äußere Funktion auf

Ebenfalls werden in der inneren Funktion die Variablen sichtbar sein, die außerhalb der äußeren Funktion definiert sind:

javascriptlet num = 1; // globale Variable

function test() {
  function func() {
    console.log(num); // gibt 1 aus
  }
  
  func(); // rufen die innere Funktion auf
};

test(); // rufen die äußere Funktion auf
Задание 1

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

javascriptfunction test() {
  let num = 1;
  
  function func() {
    console.log(num);
  }
  
  func();
}

test();
Задание 2

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

javascriptfunction test() {
  let num = 1;
  
  function func() {
    console.log(num);
  }
}

test();
Задание 3

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

javascriptfunction test() {
  let num = 1;
  
  function func() {
    console.log(num);
  }
  
  func();
}
Задание 4

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

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

test();