闭包是指有权访问另一个函数作用域中的变量的函数。
特点:1.函数嵌套函数
2.内部函数可以引用外部函数的参数和变量
3.参数和变量不会被垃圾回收机制收回。
好处:1.让变量的值始终驻扎在内存中
2.避免全局变量的污染
3.私有成员的存在
使用注意点:
1)由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题。在IE中可能会导致内存泄露问题。解决方法是,在退出函数之前,将不使用的局部变量全部删除。
2)闭包会在父函数外部,改变父函数内部变量的值。所以你把父函数当做对象(object)使用,把闭包当做它的公有方法,把内部变量当作它的私有属性,这时一定要小资女,不要随便改变父函数内部变量的值。
弹出li的索引值:(两种方法)
解决内存泄露问题:
私有成员举例: