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();