Zakres zagnieżdżonych funkcji w JavaScript

Jeśli funkcja zawiera wewnątrz inną funkcję - zmienne funkcji zewnętrznej są widoczne we wewnętrznej:

javascriptfunction test() {
  let num = 1; // zmienna funkcji zewnętrznej
  
  function func() {
    console.log(num); // wypisze 1
  }
  
  func(); // wywołujemy funkcję wewnętrzną
}

test(); // wywołujemy funkcję zewnętrzną

Również we funkcji wewnętrznej będą widoczne zmienne, zdefiniowane na zewnątrz funkcji zewnętrznej:

javascriptlet num = 1; // zmienna globalna

function test() {
  function func() {
    console.log(num); // wypisze 1
  }
  
  func(); // wywołujemy funkcję wewnętrzną
};

test(); // wywołujemy funkcję zewnętrzną
Задание 1

Określ, bez uruchamiania kodu, co zostanie wypisane w konsoli:

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

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

Określ, bez uruchamiania kodu, co zostanie wypisane w konsoli:

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

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

Określ, bez uruchamiania kodu, co zostanie wypisane w konsoli:

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

Określ, bez uruchamiania kodu, co zostanie wypisane w konsoli:

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

test();