<分区>
我是 JavaScript 的新手,我真的不太明白为什么下面的代码返回 1
而不是 10
:
var a = 1;
function b() {
a = 10;
return;
function a() {}
}
b();
alert(a);
运行代码:http://jsfiddle.net/smMtU/
如果我删除 function a() {}
行,它会按预期返回 10
。此代码来自 this post解释 JavaScript 中的作用域和提升概念。也许我在阅读这篇文章时遗漏了什么?
谁能指出这段代码背后的概念?