Zhoda názvov s parametrami v JavaScripte

Parametre funkcie sú lokálne premenné vo vnútri nej. Pomenujme parameter funkcie rovnakým názvom ako vonkajšiu globálnu premennú:

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

let num = 1;
func(num);

V tomto prípade dostaneme to, že mimo funkcie bude premenná num a vo vnútri funkcie bude premenná num. Ale budú to rôzne premenné: zmena premennej vo vnútri funkcie povedie k zmene lokálnej premennej funkcie. A vonkajšia premenná vo vnútri funkcie bude nedostupná a nebude sa dať zmeniť žiadnym spôsobom. Skontrolujme:

javascriptfunction func(num) {
  num = 2; // meníme lokálnu premennú
}

let num = 1;
func(num);
console.log(num); // vypíše 1 - nič sa nezmenilo
Задание 1

Určte, bez spustenia kódu, čo sa vypíše do konzoly:

javascriptfunction func(num) {
  num = 2;
}

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

Určte, bez spustenia kódu, čo sa vypíše do konzoly:

javascriptfunction func() {
  num = 2;
}

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

Určte, bez spustenia kódu, čo sa vypíše do konzoly:

javascriptfunction func() {
  let num = 2;
}

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