Javascript Нечетное поведение Scoping

мы изучали область действия функции Javascript и столкнулись с этим:

var scope = "global";

function f(){
    console.log(scope);

    var scope = "local";

    console.log(scope);
}

f();

Теперь я понимаю, что вывод первого журнала "не определено» из-за того, как JS поднимает переменные в верхней части функции. НО когда я удаляю var из "var scope = "местный";" первый лог выходовГлобальный" и это заставило меня почесать голову. Может кто-нибудь объяснить, почему это происходит, пожалуйста? Я имею в виду нет JS последовательно запустить код? Таким образом, как удаление VAR может повлиять на первый журнал?

Ответы на вопрос(3)

Ваш ответ на вопрос