Parámetros homónimos en JavaScript

Supongamos ahora que la función externa y la interna tienen parámetros homónimos:

javascriptfunction test(num) {
  function func(num) {
    console.log(num); // mostrará 1
  }
  
  func(num);
};

test(1);

En este caso, dentro de la función interna existirá una variable local num. Su modificación dentro de la función interna no afectará de ninguna manera a la variable externa num:

javascriptfunction test(num) {
  function func(num) {
    num = 2; // cambiamos la variable local num
  }
  
  func(num);
  console.log(num); // mostrará 1 - nada ha cambiado
}

test(1);

El resultado es que la función interna no podrá de ninguna manera acceder a la variable externa num para modificarla:

javascriptfunction test(num) {
  function func(num) {
    // aquí no se puede acceder a la variable externa num
  }
  
  func(num);
}
test(1);
Задание 1

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

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

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

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

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

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

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

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

test(1);
Задание 4

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

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

test(1);