【发布时间】:2015-02-26 23:01:06
【问题描述】:
谁能解释一下原因
function x() {
console.log("Hello!");
}
var a = x;
a();
x();
生产
你好!
你好!
但是这个
var a = function x() {
console.log("Hello!");
}
a();
x();
尝试调用函数 x 时抛出错误?第二个 x 函数不被视为提升函数吗?我在 nodejs 和浏览器中都试过了。
【问题讨论】:
-
我认为 x 在第二个代码块中唯一可用的地方是其内部(即递归)。不知道为什么会这样......
-
你所有的函数调用都在函数声明之后,所以这与提升无关。
标签: javascript node.js function scope