Съвпадение на имена с параметри в 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);