🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
以下代码的执行结果是神马? ~~~ function test() { console.log(a); console.log(foo()); var a = 1; function foo() { return 2; } } test(); ~~~ 结果是: ``` undefined 2 ``` 要答对此题要知道变量提升的概念:var和函数声明都有提升的作用,也就是说都被提升到函数体的顶部。可以认为提升之后的代码是这样的: ~~~ function test() { var a; function foo() { return 2; } console.log(a); console.log(foo()); a=1; } test(); ~~~ 这样你就能看懂答案了吧?