js 函数和变量的hoisting,第二段里面的函数为啥fly没有提升?

函数声明方式提升【成功】

function test(){
    foo();    function foo(){        console.info("I am foo!")
    }
}
test();

函数表达式方式提升【失败】

function test(){
    foo();//Uncaught TypeError: foo1 is not a function(…)
    fly();//VM83:1 Uncaught ReferenceError: fly is not defined(…)
   var foo =function fly(){        console.info("I am foo!")
    }
}
test();

第二段里面的函数为啥fly没有提升,不也是声明式的吗?为啥一个是TypeError,fly是ReferenceError?


牛魔王的故事
浏览 445回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript