<script> var a=1; function f1(){ var a=2; } //全局变量和局部作用域:函数里面的就是局部作用域,函数外面的就是全局作用域 </script>
<script> var f2=function(){ var a=1; } f2(); console.log(a); var a=2; </script>
<script> //变量提升:在代码执行之前变量已经在编译阶段被声明了 console.log(a);//undefined var a=2; /* JS代码的运行分为2个阶段 1:解析(编译)阶段:语法检查,变量及函数进行声明 2:运行阶段:变量赋值,代码流程的执行 */ var a; console.log(a); var a=2; </script>
转载请注明:大灰牛博客 » 变量提升及代码执行阶段