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