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