闭包的优缺点

706 阅读1分钟

什么是闭包

闭包就是两个函数嵌套,内部函数引用外部函数变量,例如:

    function fn1(){
        let a = "1"
        let fn2 =function (){
            console.log(a)
        }
        return fn2
    }
    let fn3 = fn1()

优点

  1. 变量长期驻扎在内存中;
  2. 避免全局变量的污染;
  3. 私有成员的存在;

缺点

  1. 容易造成内存泄漏