闭包的概念:
通过将作用域嵌套实现将局部变量进化成私有变量的环境,叫闭包,不是固定写法。
我们有时候需要在一个函数外部访问在这个函数内部定义的局部变量,就需要在一个函数内部再定义一个函数,通过return返回到函数外部,从而实现我们的需求。在这个过程中就形成了闭包
所以说,闭包可以简单理解成“定义在一个函数内部的函数“。在本质上,闭包就是将函数内部和函数外部连接起来的桥梁。
闭包的另一个作用就是让这些变量的值始终保持在内存中,不会在外部函数调用后被自动清除。
缺点: 由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除。