<script> function test(){ console.log(a); console.log(foo()); var a=1; function foo(){ return 2; }; }; </script>
执行结果为:undefined和2;
变量声明在js中需要提升,所以以上代码相当于以下代码:
<script> function test(){ var a; function foo(){ return 2; }; console.log(a); console.log(foo()); a=1; }; </script>