闭包

2018-08-02  本文已影响0人  谷子多

什么是闭包?

函数嵌套函数,内部函数可以引用外部函数的参数和变量,此处的a,b不会被垃圾回收机制回收,因为有相互引用的关系。

 function aa(a){
                let b = 5
                return function(c){
                    console.log(a,b,c)
                }
 }

垃圾回收机制:

 function aaa(){
                var a = 1
            }
 aaa() // 执行之后,函数内的变量a就会被垃圾回收机制所收回

闭包有什么好处?应用在哪里?

function aa(){
  var a = 1
  a++
  alert(1)
}
aa() //2
aa() //2

针对以上问题,如何可以做到让变量可以累加?

function aa(){
  var a = 1
  return function(){
    a++
    console.log(a)
  }
}
aa() //2
aa() //3
上一篇 下一篇

猜你喜欢

热点阅读