Супадзенне імёнаў з параметрамі ў JavaScript
Параметры функцыі з'яўляюцца лакальнымі зменнымі унутры яе. Давайце назвамем параметр функцыі такім жа імем, як і знешнюю глабальную зменную:
function func(num) {
console.log(num);
}
let num = 1;
func(num);
У даным выпадку ў нас атрымаецца так, што
звонку функцыі будзе зменная num
і ўнутры функцыі будзе зменная num.
Але гэта будуць розныя зменныя: змяненне
зменнай ўнутры функцыі будзе прыводзіць
да змянення лакальнай зменнай
функцыі. А знешняя зменная ўнутры
функцыі будзе недасяжная і не зможа быць
зменена ніякім спосабам. Праверым:
function func(num) {
num = 2; // мяняем лакальную зменную
}
let num = 1;
func(num);
console.log(num); // выведзе 1 - нічога не змянілася
Вызначыце, не запускаючы код, што выведзецца ў кансоль:
function func(num) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Вызначыце, не запускаючы код, што выведзецца ў кансоль:
function func() {
num = 2;
}
let num = 1;
func();
console.log(num);
Вызначыце, не запускаючы код, што выведзецца ў кансоль:
function func() {
let num = 2;
}
let num = 1;
func();
console.log(num);