Супадзенне імёнаў з параметрамі ў 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);