Совпаѓање на имиња со параметри во 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);