企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
以下代码的执行结果是神马? ~~~ 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(); ~~~ 这样你就能看懂答案了吧?