闭包

是什么:是保护并重用局部变量的机制
为什么用闭包:
全局变量:优点是随处可用,可重用,但容易被污染
局部变量:优点是仅在函数内用,不容易被污染,但不能被重用
什么时候使用闭包:
希望重用一个变量,又不希望被污染时
如何使用:(3步)

  1. 定义受保护的局部变量
  2. 定义内层函数,专门用来操作受保护的变量
  3. 定义外层函数,将受保护的变量和操作变量的函数封装起来,外层函数将内层函数返回到外部

判断:
1.先找受保护的变量和内层函数,画简图
2.同一次外层函数调用,返回的多个内层函数,共享同一个闭包变量
3.多次外层函数的调用,会创建多个闭包,多个闭包之间彼此毫无关系

闭包会占用内存,解决方法是:使用完之后立即释放
释放方法:getNum=null
会使内层的小函数对象释放,进而导致outer的AO被释放,被占用的内存就会被释放

你可能感兴趣的:(闭包)