1.如何产生闭包
*当一个嵌套的内部(子)函数引用了嵌套的外部(父)函数的变量(函数)时,就产生了闭包。
2.闭包的作用
*是函数内部的变量在函数执行完后,仍然存活在内存中,延长了局部变量的生命周期。
*让函数外部的可以操作到函数内部的数据(变量、函数)
3.闭包的生命周期
function fn1() { //闭包产生,(函数提升,内部函数对象已经创建了) var a = 1 function fn2() { a++ console.log(a) } return fn2 } var f = fn1() f() //2 f() //3 f=null//闭包销毁4.闭包的缺点
*函数执行完后,函数内的局部变量没有释放,占用内存时间变长
*容易造成内存泄露
解决:能不用就不用,及时释放