JS: 闭包有什么作用

140 阅读1分钟

1. 什么是闭包

函数和函数内部能访问到的变量的总和就是一个闭包,闭包是函数和声明该函数的词法环境的组合

function wrapper () {
  var local = 0
  function inner() {
    local ++
    return local
  }
  reutn inner
}

2. 闭包的作用

隐藏一个变量,闭包是 JS 函数作用域的副产品

  (1)匿名函数自执行

 (2)结果缓存:闭包不会释放外部的引用,从而函数内部的值可以得以保留