Zbieżność nazw z parametrami w JavaScript

Parametry funkcji są zmiennymi lokalnymi w jej wnętrzu. Nazwijmy parametr funkcji tą samą nazwą, co zewnętrzną zmienną globalną:

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

let num = 1;
func(num);

W tym przypadku otrzymamy taką sytuację, że na zewnątrz funkcji będzie zmienna num i wewnątrz funkcji będzie zmienna num. Ale będą to różne zmienne: zmiana zmiennej wewnątrz funkcji będzie prowadzić do zmiany lokalnej zmiennej funkcji. A zmienna zewnętrzna wewnątrz funkcji będzie niedostępna i nie będzie mogła być zmieniona w żaden sposób. Sprawdźmy:

javascriptfunction func(num) {
  num = 2; // zmieniamy zmienną lokalną
}

let num = 1;
func(num);
console.log(num); // wypisze 1 - nic się nie zmieniło
Задание 1

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

javascriptfunction func(num) {
  num = 2;
}

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

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

javascriptfunction func() {
  num = 2;
}

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

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

javascriptfunction func() {
  let num = 2;
}

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