Поскольку вы объявляете локальную переменную с тем же именем. Поэтому он присваивает значение локальной переменной. Просто удалите var из var someGlobal в someF (), и все должно быть хорошо.
var someGlobal = 3;
function someF() {
// undefined issue
alert(someGlobal);
someGlobal = 5; // <-- orignially var someGlobal = 5
// Displays 5
alert(someGlobal);
}
function someF2() {
// Should display 5 now
alert(someGlobal);
}
someF();
someF2();