Qlobal dəyişənlər və JavaScript-də funksiya parametrləri

Tutaq ki, parametr kimi ədəd qəbul edən bir funksiyamız var:

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

Tutaq ki, funksiyanın xaricində num dəyişəni var:

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

let num = 1; // xarici qlobal dəyişən

Gəlin funksiyamızı çağıraq və ona num dəyişənini parametr kimi ötürək:

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

let num = 1;
func(num); // funksiyanı parametrlə çağırırıq, 1 çıxardacaq

Nəticədə, funksiyanın daxilində həm localNum dəyişəni (funksiya parametri), hem də num dəyişəni (xarici dəyişən kimi) əlçatan olacaq:

javascriptfunction func(localNum) {
  console.log(num); // 1 çıxardacaq
  console.log(localNum); // 1 çıxardacaq
}

let num = 1;
func(num);

localNum dəyişəninin özü funksiyanın lokal dəyişəni olacaq və xaricdən əlçatan olmayacaq:

javascriptfunction func(localNum) {
  
}

let num = 1;
func(num); // funksiyanı parametrlə çağırırıq
console.log(localNum); // səhv verəcək

localNum dəyişəni lokal olduğu üçün onunla edilən heç bir dəyişiklik xaricdə heç nəyi dəyişməyəcək:

javascriptfunction func(localNum) {
  localNum = 2; // xaricdə heç nəyi dəyişmir
}

let num = 1;
func(num);

Əgər funksiyanın daxilində num (qlobal) dəyişəni dəyişdirilsə, dəyişikliklər xaricdə də görünəcək:

javascriptfunction func(localNum) {
  num = 2;
}

let num = 1;
func(num);
console.log(num); // 2 çıxardacaq

Lakin, əgər funksiyanın daxilində num dəyişənini let ilə elan etsək, beləliklə xarici dəyişənə heç bir təsir etməyən lokal num dəyişəni yaratmış olarıq:

javascriptfunction func(localNum) {
  let num = 2; // let ilə elan edək
}

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

Kodu işə salmadan müəyyən edin ki, konsola nə çıxarılacaq:

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

func(1);
Задание 2

Kodu işə salmadan müəyyən edin ki, konsola nə çıxarılacaq:

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

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

Kodu işə salmadan müəyyən edin ki, konsola nə çıxarılacaq:

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

let num = 1;
func(num);
num = 2;
Задание 4

Kodu işə salmadan müəyyən edin ki, konsola nə çıxarılacaq:

javascriptlet num = 1;

function func(localNum) {
  console.log(localNum);
}

num = 2;
func(num);
Задание 5

Kodu işə salmadan müəyyən edin ki, konsola nə çıxarılacaq:

javascriptfunction func(localNum) {
  localNum = 2;
}

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

Kodu işə salmadan müəyyən edin ki, konsola nə çıxarılacaq:

javascriptfunction func(localNum) {
  num = 2;
}

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

Kodu işə salmadan müəyyən edin ki, konsola nə çıxarılacaq:

javascriptfunction func(localNum) {
  let num = 2;
}

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