ПочемуФункция грузоподъемная в JavaScript из условия заявления
var y = 1;
if (function f(){}) {
y += typeof f;
}
console.log(y); // 1undefined
Перед запуском кода я предполагаю, что это будет 1function
Я полагаю, что за функциями Подъемного е должен быть открыт для всего кода. Можете ли вы предоставить ссылку на такое описание поведения?
P.S> в блоге, где я нашел этот пример есть объяснение
Выход будет 1undefined. Оператор if оценивает использование eval, поэтому eval (функция f() {}) возвращает функцию f() {} (что верно). Поэтому внутри оператора if выполнение типа f возвращает undefined, потому что код инструкции if выполняется во время выполнения, а оператор внутри условия if оценивается во время выполнения.
Но это не делает ситуацию более ясным
В чем вопрос? и какова цель? –
Я полагаю, что это будет '1функция' –
Я знаю, но почему вы пытаетесь это сделать? вы можете привести пример в реальном мире? Мне просто интересно –