Подударање имена са параметрима у JavaScript-у

Параметри функције су локалне променљиве унутар ње. Хајде да назовемо параметар функције истим именом као и спољну глобалну променљиву:

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

let num = 1;
func(num);

У овом случају ће се десити да изван функције постоји променљива num и унутар функције ће постојати променљива num. Али то ће бити различите променљиве: измена променљиве унутар функције ће довести до измене локалне променљиве функције. А спољна променљива унутар функције ће бити недоступна и неће моћи да се промени на било који начин. Проверимо:

javascriptfunction func(num) {
  num = 2; // мењамо локалну променљиву
}

let num = 1;
func(num);
console.log(num); // исписаће 1 - ништа се није променило
Задание 1

Одредите, без покретања кода, шта ће бити исписано у конзолу:

javascriptfunction func(num) {
  num = 2;
}

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

Одредите, без покретања кода, шта ће бити исписано у конзолу:

javascriptfunction func() {
  num = 2;
}

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

Одредите, без покретања кода, шта ће бити исписано у конзолу:

javascriptfunction func() {
  let num = 2;
}

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