Я экспериментировал с закрытием в 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
Мобильная версия