多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
以下代码的执行结果是神马? ~~~ 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(); ~~~ 这样你就能看懂答案了吧?