Область видимости вложенных функций в 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();



Чат с GPT Компилятор