js闭包

闭包:减少命名冲突冲突,自动内存管理(定义在代码块中的变量在代码块执行完毕后被释放掉)

作用域:全局变量和局部变量。

    1.定义在函数中的参数和变量在函数外部不可见,函数内可见。

     function test(){

       var a=3;

        console.log(a);    //3

      }

      console.log(a);    //undefined

    2.如果没有用var声明,则为全局变量

      function test(){

        a=1;

      }

                     test();

      console.log(a);    //1

  外部读取内部变量

原文地址:https://www.cnblogs.com/sunhuinaxixi/p/9969973.html