1.什么是js闭包?
那首先要先知道什么是闭包--当内部函数 在定义它的作用域的外部 被引用时,就创建了该内部函数的闭包。如果内部函数引用了位于外部函数的变量,当外部函数被调用完毕时,这些变量在内存中不会被释放,因为闭包需要他们;
https://www.cnblogs.com/chuntaoj/p/5996216.html 写的能看懂;
想在全局作用域去访问一个函数内的局部变量是访问不到的, 所以就通过函数内返回内部函数,把内部函数赋给了一个全局变量,这样就可以在全局作用域访问内部变量了;
2.js 闭包的作用?
所以,闭包的作用--
1.在函数外部,访问函数内的局部变量
2.变量的值始终保持在内存中,因为内部返回的闭包函数被赋给了 一个全局变量, 那么内部函数还依赖于外部函数,所以外部函数也不会被回收,始终保存在内存中;