Poklapanje imena sa parametrima u JavaScript-u

Parametri funkcije su lokalne promenljive unutar nje. Hajde da nazovemo parametar funkcije istim imenom kao i spoljašnju globalnu promenljivu:

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

let num = 1;
func(num);

U ovom slučaju, desiće se da izvan funkcije postoji promenljiva num i unutar funkcije će postojati promenljiva num. Ali to će biti dve različite promenljive: promena promenljive unutar funkcije će dovesti do promene lokalne promenljive funkcije. A spoljašnja promenljiva unutar funkcije neće biti dostupna i ne može biti promenjena na bilo koji način. Proverimo:

javascriptfunction func(num) {
  num = 2; // menjamo lokalnu promenljivu
}

let num = 1;
func(num);
console.log(num); // ispisaće 1 - ništa se nije promenilo
Задание 1

Odredite, ne pokrećući kod, šta će biti ispisano u konzolu:

javascriptfunction func(num) {
  num = 2;
}

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

Odredite, ne pokrećući kod, šta će biti ispisano u konzolu:

javascriptfunction func() {
  num = 2;
}

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

Odredite, ne pokrećući kod, šta će biti ispisano u konzolu:

javascriptfunction func() {
  let num = 2;
}

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