当内部函数被保存到外部时,将会生成闭包。闭包会导致原有的作用链域不释放,造成内存泄漏。

闭包的作用

实现公有变量
eg:函数累加器

可以做缓存(存储结构)
eg:eater

可以实现封装,属性私有化
eg:Person();

模块化开发,防止污染全局变量