Coincidencia de nombres con parámetros en JavaScript

Los parámetros de la función son variables locales dentro de ella. Llamemos al parámetro de la función con el mismo nombre que una variable global externa:

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

let num = 1;
func(num);

En este caso, resultará que fuera de la función habrá una variable num y dentro de la función habrá una variable num. Pero estas serán variables diferentes: el cambio de la variable dentro de la función conducirá a un cambio en la variable local de la función. Y la variable externa dentro de la función no estará disponible y no podrá ser cambiada de ninguna manera. Comprobemos:

javascriptfunction func(num) {
  num = 2; // cambiamos la variable local
}

let num = 1;
func(num);
console.log(num); // mostrará 1 - nada ha cambiado
Задание 1

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

javascriptfunction func(num) {
  num = 2;
}

let num = 1;
func(num);
console.log(num);
Задание 2

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

javascriptfunction func() {
  num = 2;
}

let num = 1;
func();
console.log(num);
Задание 3

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

javascriptfunction func() {
  let num = 2;
}

let num = 1;
func();
console.log(num);