JS作用域

JS作用域

  1. 变量
    声明的变量只能在当前代码块和同级函数以及同级函数的子函数代码块中有效
    如果在函数内部定义变量的时候,不加var,那么该变量默认会称为全局变量

  2. 函数
    同变量1相同
    代码相通性:外部声明的变量可以在内部使用

    <script type="text/javascript">
     var a = 100;
     var b = 200;
    </script>
    <script src="1.js"></script>
    <script type="text/javascript">
     alert(a); // 代码相通
     function test()
     {
         // alert(b);
         var c = 300;
         function func() {
             var c = 100;
             alert(c);
         }
         func();
     }
     test(); // 100
    
     //var 的情况
     function tt()
     {
         d = 300;
     }    
    
     tt(); // 相当于d=300;
     alert(d);
    
     function a() {
         function b(){
             alert('bbbb');
         }
         function c(){
             function d() {
                 b();
             }
             d();
         }
         c();
     }
     a();
    </script>