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?