【发布时间】:2014-05-17 21:43:23
【问题描述】:
我遇到了 JavaScript \'hoisting\',但我没有弄清楚这段代码的 sn-p 是如何真正起作用的:
var a = 1;
function b() {
a = 10;
return;
function a() {}
}
b();
alert(a);
我知道像 (function a() {}) 这样的函数声明将被提升到函数 b 范围的顶部,但它不应该覆盖 a 的值(因为函数声明会覆盖变量声明而不是变量初始化)所以我预计警报的值将是 10 而不是 1!
-
提升是 JavaScript 将声明移到顶部的默认行为。(函数声明从它们出现在代码流中的位置“移动”到代码的顶部。这产生了名称“提升”。)Read more
-
这是一个关于“函数表达式与函数声明和提升”的简单解释的链接...gomakethings.com/function-expressions-vs-function-declarations
标签: javascript hoisting