Едноименни параметри в JavaScript
Нека сега външната и вътрешната функция имат едноименни параметри:
function test(num) {
function func(num) {
console.log(num); // ще изведе 1
}
func(num);
};
test(1);
В този случай във вътрешната функция ще има
локална променлива num. нейната промяна
във вътрешната функция по никакъв начин няма да повлияе
на външната променлива num:
function test(num) {
function func(num) {
num = 2; // променяме локалната променлива num
}
func(num);
console.log(num); // ще изведе 1 - нищо не се е променило
}
test(1);
Ще се окаже, че вътрешната функция по никакъв начин
няма да може да достъпи външната променлива num
за да я промени:
function test(num) {
function func(num) {
// тук не може да се получи достъп до външната променлива num
}
func(num);
}
test(1);
Определете, без да пускате кода, какво ще се изведе в конзолата:
function test(num) {
function func(num) {
console.log(num);
}
func(num);
}
test(1);
Определете, без да пускате кода, какво ще се изведе в конзолата:
function test(num) {
function func(num) {
num = 2;
}
func(num);
console.log(num);
}
test(1);
Определете, без да пускате кода, какво ще се изведе в конзолата:
function test(num) {
function func(num) {
console.log(num);
}
num = 2;
func(num);
}
test(1);
Определете, без да пускате кода, какво ще се изведе в конзолата:
function test(num) {
function func(num) {
console.log(num);
}
func(num);
num = 2;
}
test(1);