JavaScript-də Adların Parametrlərlə Üst-üstə Düşməsi

Funksiya parametrləri onun daxilində lokal dəyişənlərdir. Gəlin funksiya parametrini xarici qlobal dəyişənlə eyni adla adlandıraq:

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

let num = 1;
func(num);

Bu halda belə olacaq ki, funksiyanın xaricində num dəyişəni və funksiyanın daxilində num dəyişəni olacaq. Lakin bunlar fərqli dəyişənlər olacaq: funksiya daxilində dəyişəni dəyişdirmək funksiyanın lokal dəyişəninin dəyişməsinə səbəb olacaq. Xarici dəyişən isə funksiya daxilində əlçatan olmayacaq və heç bir şəkildə dəyişdirilə bilməyəcək. Gəlin yoxlayaq:

javascriptfunction func(num) {
  num = 2; // lokal dəyişəni dəyişdiririk
}

let num = 1;
func(num);
console.log(num); // 1 çap edəcək - heç nə dəyişmədi
Задание 1

Kodu işə salmadan müəyyən edin ki, konsola nə çap ediləcək:

javascriptfunction func(num) {
  num = 2;
}

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

Kodu işə salmadan müəyyən edin ki, konsola nə çap ediləcək:

javascriptfunction func() {
  num = 2;
}

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

Kodu işə salmadan müəyyən edin ki, konsola nə çap ediləcək:

javascriptfunction func() {
  let num = 2;
}

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