Omfang af indlejrede funktioner i JavaScript

Hvis en funktion indeholder en anden funktion indeni - er variabler fra den ydre funktion synlige i den indre:

javascriptfunction test() {
  let num = 1; // variabel fra den ydre funktion
  
  function func() {
    console.log(num); // udskriver 1
  }
  
  func(); // kalder den indre funktion
}

test(); // kalder den ydre funktion

Derudover vil variabler, der er defineret udenfor den ydre funktion, også være synlige i den indre funktion:

javascriptlet num = 1; // global variabel

function test() {
  function func() {
    console.log(num); // udskriver 1
  }
  
  func(); // kalder den indre funktion
};

test(); // kalder den ydre funktion
Задание 1

Bestem, uden at køre koden, hvad der vil blive udskrevet i konsollen:

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

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

Bestem, uden at køre koden, hvad der vil blive udskrevet i konsollen:

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

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

Bestem, uden at køre koden, hvad der vil blive udskrevet i konsollen:

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

Bestem, uden at køre koden, hvad der vil blive udskrevet i konsollen:

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

test();