关于闭包

2018-08-22  本文已影响0人  那个汉堡在对我笑

闭包的定义:

MDN

javascriptkit

词法作用域 (lexical environment)


函数在执行的过程中,先从自己内部找变量

如果找不到,再从创建当前函数所在的作用域(词法作用域)去找, 以此往上

注意找的是变量的当前的状态

函数连同它作用域链上的要找的这个变量,共同构成闭包

一般情况下使用闭包主要是为了

1、封装数据

2、暂存数据

比如:


function car(){

  var speed = 0

  function fn(){

    speed++

    console.log(speed)

  }

  return fn

}

var speedUp = car()

speedUp()  //1

speedUp()  //2


上一篇下一篇

猜你喜欢

热点阅读