函数声明方式提升【成功】
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?
相关分类