闭包是指有权访问另一个函数作用域中变量的函数,创建闭包最常见的方式就是在一个函数内部创建另一个函数,通过另一个函数访问这个函数局部变量,利用闭包可以突破链作用域,将局部变量传到内部。
简单说 闭包:能够读取其他函数内部变量的函数。
闭包的特性:1.函数内嵌套函数;
2.内部函数可以利用外层的参数和变量;
3.参数和变量不会被垃圾回收机制回收;
- 优点:1.方便调用上下文局部变量;2.加强封装性,可达到对变量的保护作用。
- 缺点:1.闭包变量保存在内存中,内存消耗大,可能会造成网页性能问题,(在退出前将不使用的变量删除)。