Одноименные параметры в 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);