Может кто-нибудь объяснить, почемуОдновременно Объявление переменных и функций в JavaScript
function x() {
console.log("Hello!");
}
var a = x;
a();
x();
производит
Здравствуйте!
Здравствуйте!
но
var a = function x() {
console.log("Hello!");
}
a();
x();
выдает ошибку при попытке вызова функции х? Является ли вторая функция x не считающейся подъемной функцией? Я пробовал это как в узлах, так и в браузере.
Я думаю, что единственное место, где х пригодные в второй блок кода изнутри (т.е. рекурсия). Не уверен, почему это так, хотя ... – syazdani
Все ваши вызовы функций поступают после объявлений функций, поэтому это не имеет никакого отношения к подъему. – dursk