别人理解https://my.oschina.net/u/4356754/blog/3572639
现代JavaScript模式https://zh.javascript.info/closure#tasks

摘抄https://my.oschina.net/u/4356754/blog/3572639

内存定义
闭包是指有权访问另一个函数作用域中变量的函数,创建闭包的最常见的
方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量

闭包的特性:
    函数内再嵌套函数
    内部函数可以引用外层的参数和变量
    参数和变量不会被垃圾回收机制回收
1. 内存溢出
  * 一种程序运行出现的错误
  * 当程序运行需要的内存超过了剩余的内存时, 就出抛出内存溢出的错误
2. 内存泄露
  * 占用的内存没有及时释放
  * 内存泄露积累多了就容易导致内存溢出
  * 常见的内存泄露:
    * 意外的全局变量
    * 没有及时清理的计时器或回调函数
    * 闭包