Answer
JavaScript testВ консоль будет напечатано:
undefined local
Объяснение:
Интерпретатор JavaScript всегда перемещает («поднимает») объявления функций и переменных в начало области видимости (вверх текущего скрипта или функции). Код в вопросе аналогичен следующему:
myname = "global"; function func() { var myname; console.log(myname); // "undefined" myname = "local"; console.log(myname); // "local" } func();
Код для проверки:
myname = "global"; function func() { console.log(myname); var myname = "local"; console.log(myname); } func();