是什么?
当一个嵌套的内部函数引用了外部函数的变量或者函数时,外部函数在执行时就产生了闭包
将另一个函数作为另一个函数的返回值
将函数作为实参传递给另一个函数调用
闭包的特点?
函数嵌套函数
内部函数引用外部函数的变量
函数执行
使用闭包内部函数,执行完毕后,变量一直存在于函数中,延长了变量的声明周期
可以通过外部间接的操作内部的函数或者变量
总结:闭包的作用就是延长外部函数局部变量的生命周期
【如果大家对程序员,web前端感兴趣,想要学习的,关注一下小编吧。我是一名前端开发程序员,现在在网上授课教前端,每晚都会在群内免费直播。从最基础的HTML+CSS+JS到移动端HTML5到各种框架都有整理,送给每一位前端小伙伴,这里是小白聚集地,欢迎初学和进阶中的小伙伴。加群:731771211。前端学习必备公众号ID:mtbcxx】
产生:内部函数被定义执行完毕,注意不是被调用的时候,是执行完毕后
死亡:当嵌套的内部函数成为垃圾对象时候。
缺点:函数定义的变量和数据会一直存在内部函数中,不会被及时释放,这样会导致内存泄漏
解决:尽量不使用闭包;用完后及时释放
* 对比1:
第二题
解析:得出a,b,c三个打印值得关键点在于是否产生了新的闭包。
循环遍历加监听---闭包典型小demo
【如果大家对程序员,web前端感兴趣,想要学习的,关注一下小编吧。我是一名前端开发程序员,现在在网上授课教前端,每晚都会在群内免费直播。从最基础的HTML+CSS+JS到移动端HTML5到各种框架都有整理,送给每一位前端小伙伴,这里是小白聚集地,欢迎初学和进阶中的小伙伴。加群:731771211。前端学习必备公众号ID:mtbcxx】