如何产生闭包?
当一个嵌套的内部函数引用了嵌套的外部函数的变量时,就产生了闭包(Closure)
理解:包含被引用变量的对象,闭包存在于嵌套的内部函数中
使用Chrome调试查看
产生闭包的条件?
函数嵌套
内部函数引用了外部函数的数据
调用外部函数
常见的闭包
将函数作为另一个函数的返回值
将函数作为实参传递给另一个函数调用
闭包的作用
使用函数内部的变量在函数执行完后,仍存活在内存中,延长了局部变量的生命周期
让函数外部可以操作到函数内部的数据(变量/函数)
闭包的生命周期
产生:在嵌套内部函数定义时就产生了,不是在调用时
死亡:在嵌套的内部函数成为垃圾对象时