使用闭包主要是为了设计私有的方法和变量。闭包的优点是可以避免全局变量的污染,缺点是闭包会常驻内存,增加内存使用量,使用不当很容易造成内存泄漏。在JavaScript中,函数即闭包,只有函数才会产生作用域。函数把它自己的内部语句和声明时所处的作用域封装成了一个密闭环境,称之为闭包。
闭包有三个特性: