为什么这会在JavaScript中返回函数

时间:2016-06-10 13:03:25

标签: javascript

以为我终于理解在JavaScript中提升*了,但这种让我感到困惑。我已经注意到我认为应该发生的事情,但有人可以解释一下吗?

function bar() {
    return foo;
    foo = 10;
    function foo() {}
    var foo = '11';
}

2016年6月11日更新

以下是我对上述代码的“提升”。 的理解/抽象,这不是新代码。

function bar() {
    function foo() {} // value function
    var foo;  // value undefined;
    return foo;
    foo = 10;  // I believe this will create a global variable if the function is executed
    foo = '11'; //local foo is assigned the string value 11
 }

 alert(typeof bar()); // returns function

*我理解“吊装”是我们发明的用于解释通过解释器编译的不同阶段的心理构造。

0 个答案:

没有答案