0

重複の可能性:
JavaScript 変数のスコープ

var flag = false;
if(flag === true)
{
     var you = "great";
}

変数「you」が undefined で初期化されているため、印刷時に参照エラーを表示する代わりに undefined と表示されます。なぜ?

4

1 に答える 1

7

Javascript では、すべての変数は、宣言されている関数/スコープの先頭に「巻き上げられ」ます。つまり、コードは、コンパイラに対して次のように見えます。

var flag = false;
var you;
if (flag === true)
{
    you = "great"
}
于 2012-12-31T10:23:46.910 に答える