Ámbito de las funciones anidadas en JavaScript

Si una función contiene otra función en su interior - las variables de la función externa son visibles en la interna:

javascriptfunction test() {
  let num = 1; // variable de la función externa
  
  function func() {
    console.log(num); // mostrará 1
  }
  
  func(); // llamamos a la función interna
}

test(); // llamamos a la función externa

También en la función interna serán visibles las variables definidas fuera de la función externa:

javascriptlet num = 1; // variable global

function test() {
  function func() {
    console.log(num); // mostrará 1
  }
  
  func(); // llamamos a la función interna
};

test(); // llamamos a la función externa
Задание 1

Determine, sin ejecutar el código, qué se mostrará en la consola:

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

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

Determine, sin ejecutar el código, qué se mostrará en la consola:

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

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

Determine, sin ejecutar el código, qué se mostrará en la consola:

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

Determine, sin ejecutar el código, qué se mostrará en la consola:

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

test();