解析:闭包就是能够读取其他函数内部变量的函数。
特点:
( 1 ) 闭包外层是一个函数。
( 2 ) 闭包内部都有函数。
( 3 ) 闭包会return内部函数。
( 4 ) 闭包返回的函数内部不能有return(因为这样就真的结束了)。
( 5 ) 执行闭包后,闭包内部变量会存在,而闭包内部函数的内部变量不会存在。
优点:
( 1 ) 可以有私变量的存在;
( 2 ) 避免全局变量的污染;
( 3 ) 希望一个变量长期驻扎在内存中,防止私有变量被垃圾回收机制所清除;
缺点:
( 1 ) 闭包比普通函数占用更多的内存,会造成内存泄漏;在不使用时,要及时释放,将引用内层函数对象的变量赋值为null。