什么是闭包?

简单来说就是函数中嵌套函数,嵌套在里面的函数叫做闭包函数。外面的函数叫闭包环境

闭包的特点:

函数嵌套函数、函数内部可以引用外部的参数和变量、参数和变量不会被垃圾回收机制回收、返回的函数可以存储在外部变量中

闭包的作用:

可以访问一个函数内部的私有变量、通过闭包可以延长一个局部变量的生命周期将一个函数内部的私有变量长期驻留在内存里使用不当会造成内存泄漏

闭包的原理:

利用js中的垃圾回收机制,当一个函数被调用时,会开辟空间,函数调用结束时,会释放空间。如果被释放时,发现有变量正在被其他函数使用,则变量会长驻内存

注意:闭包中的this指向window

闭包的应用场景:

函数未调用不执行

 

使用局部变量进行累加和

循环里的匿名函数取值问题

console.log(list[i]())

 

传了个形参i,没有返回

 

posted on 2019-03-15 15:44  小迟吃了嘛  阅读(114)  评论(0)    收藏  举报