JavaScript 闭包






    
    
    
    Document



    


1、解释

函数执行时,会形成一个私有上下文(词法作用域),执行完之后,上下文中使用的对象,如果不在该上下文中定义,那么当前上下文就不能被释放,导致闭包

2、作用

   防止全局变量污染

  访问函数内部变量

3、实例

避免变量污染

      let n = 2;
        function test() {
            let n = 3;
            return function () {
                n++;
                console.log(n)
            }
        }
        let biBaoFunc = test();
        biBaoFunc();
        biBaoFunc();
        biBaoFunc();

4、缺点

  占内存

 可能会内存泄漏