Почему новая функция не имеет доступа к локальным переменным в JavaScript? [дублировать]Javascript

Форум по Javascript
Anonymous
Почему новая функция не имеет доступа к локальным переменным в JavaScript? [дублировать]

Сообщение Anonymous »

Я экспериментировал с закрытием в JavaScript и столкнулся с чем-то запутанным. < /p>


function outer() {
let x = 10;
return new Function("return x;");
}

const fn = outer();
console.log(fn());< /code>
< /div>
< /div>
< /p>
Я ожидал, что это будет печатать 10, потому что fn < /code> возвращается из внешнего и следует «запомнить» локальную переменную x (нормальное поведение закрытия). Определено

мое понимание

Обычно, если я вернул вложенную функцию, это сформирует закрытие и захват x.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... javascript

Вернуться в «Javascript»