闭包

70 阅读1分钟

一 闭包

如果一个函数用到了外部变量,那么这个函数加这个变量就叫做闭包。

二 闭包的用途

隐藏局部变量,暴露操作函数。

  const createAdd = ()=>{
      let n = 0
      return ()=>{
          n += 1
          console.log(n)
      }
  }

  const add = createAdd()
  add() // 1
  add() // 2

三 闭包的缺点

由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除。