我是JavaScript的新手,我真的不太明白为什么下面的代码返回1而不是10:
var a = 1;
function b() {
a = 10;
return;
function a() {}
}
b();
alert(a);
Run Code Online (Sandbox Code Playgroud)
运行代码:http://jsfiddle.net/smMtU/
如果我撤消该行function a() {},它将10按预期返回.这段代码来自这篇文章,解释了JavaScript中的概念范围和提升.也许我在阅读这篇文章时遗漏了一些东西?
请有人指出这段代码背后的概念吗?
由于吊装,您的代码相当于
var a = 1;
function b() {
var a = function() {};
a = 10;
}
b();
alert(a);
Run Code Online (Sandbox Code Playgroud)
在里面b你不是改变外部a而是内部改变.
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |