Я столкнулся со странной проблемой с областью действия Javascript (см. JSFiddle):
var someGlobal = 3;
function someF() {
// undefined issue
alert(someGlobal);
var someGlobal = 5;
// Displays 5
alert(someGlobal);
}
function someF2() {
// Displays 3, why?
alert(someGlobal);
}
someF();
someF2();
Почему Javascript не создает неопределенную проблему в someF2()? Почему someF2() может получить доступ к someGlobal, а someF() нет? Как я могу убедиться, что глобальная переменная доступна в функции?
Примечание:
В обоих случаях функции начинаются с вызова alert(someglobal), почему одна функция выдает неопределенную проблему, а другая нет?