首页 > 代码库 > Javascript中变量作用域

Javascript中变量作用域

 1  <script type="text/javascript">   
 2         var a = 10;
 3        
 4         var Bar = (function () {
 5             console.log(a); //undefine
 6             var a = 20;
 7             return function () { a += 1; console.log(a); };
 8         })();
 9         Bar();
10         Bar(); 
11 </script>
  • 看上面一段代码,当声明全局变量a后,在函数表达式中打出a,再声明同名的a变量,我们可以看到结果是:

 技术分享

  • 说明当全局变量在函数表达式里再次声明之前,a默认赋值为undefined.
  • 下面我们将函数表达式中的变量声明删除,看看结果:

技术分享

所以,函数表达式、变量 声明他们的默认值都是undefined.

Javascript中变量作用域