我遇到了一个非常令人困惑的问题,我无法弄清楚:
var foo = 'outside';
function logIt(){
console.log(foo);
var foo = 'inside';
}
logIt();
那会产生 undefined,这对我来说已经无法解释了。但更奇怪的是这个:
var foo = 'outside';
function logIt(){
console.log(foo);
}
logIt();
实际上会产生外部效果。
为什么会这样?