闭包

  1. 闭包是什么
    「函数」和「函数内部能访问到的变量」(也叫环境)的总和,就是一个闭包。
var fn2=function(){
  var a = 1 //局部变量a
  
  function fn(){ //函数fn
  console.log(a)
  }
  return fn
}()

fn2()
fn2()

2、闭包的用途是什么?
隐藏局部变量,暴露操作函数

3、闭包的缺点是什么?
容易内存泄露。(注意,虽然闭包并不会造成内存泄露,真实原因是 JS 引擎的实现有问题,但网上已经以讹传讹了。所以面试时我们依然要答出这一点)

你可能感兴趣的:(闭包)