私は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)
。なぜ一方の関数は未定義の問題をスローし、もう一方はスローしないのですか?