Անունների համընկնումը պարամետրերի հետ 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);