Område for synlighet av nestede funksjoner i JavaScript

Hvis en funksjon inneholder en annen funksjon inni seg - vil variablene til den ytre funksjonen være synlige i den indre:

javascriptfunction test() {
  let num = 1; // variabel for ytre funksjon
  
  function func() {
    console.log(num); // vil skrive ut 1
  }
  
  func(); // kaller den indre funksjonen
}

test(); // kaller den ytre funksjonen

Også i den indre funksjonen vil variabler være synlige, som er definert utenfor den ytre funksjonen:

javascriptlet num = 1; // global variabel

function test() {
  function func() {
    console.log(num); // vil skrive ut 1
  }
  
  func(); // kaller den indre funksjonen
};

test(); // kaller den ytre funksjonen
Задание 1

Bestem, uten å kjøre koden, hva som vil bli skrevet ut i konsollen:

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

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

Bestem, uten å kjøre koden, hva som vil bli skrevet ut i konsollen:

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

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

Bestem, uten å kjøre koden, hva som vil bli skrevet ut i konsollen:

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

Bestem, uten å kjøre koden, hva som vil bli skrevet ut i konsollen:

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

test();