var variable = "top level " ;
function outer(){
alert(variable); // why does this alert returns undefined ??
var variable = " inside outer, outside inner";
function inner(){
alert(variable);
}
inner();
}
outer();
レキシカルスコープの定義から私が理解したのは、関数はスコープ内およびスコープ外のすべての値、つまりそれらの前に定義されたすべての値にアクセスできるということです。では、なぜ最初のアラートが undefined を返すのでしょうか?