Repl.it中的JavaScript吊装

时间:2014-08-11 20:26:30

标签: javascript hoisting

我将此代码放入repl.it期望获取未定义的函数错误。

foo();

var foo = function (){
    console.log("Hey foo");
};

由于悬挂,我认为它会被解释为

var foo;
foo();

foo = function (){
    console.log("Hey foo");
};
相反,它记录了#34;嘿foo"交互式翻译。

吊装是否仅适用于功能范围或此处发生的事情?

当我将上述代码包装在函数中时,如下所示,结果符合预期,确实是undefined is not a function

function fooTester = (){
    foo();
    var foo = function (){
        console.log("Hey foo");
    }
}
fooTester();

只是想找一些关于这里发生了什么的澄清。 repl.it image

0 个答案:

没有答案