全局变量和局部变量都有缺点,全局变量容易造成全局污染,而局部变量则无法共享,不能长久保存,为了使变量既可以共享,长久保存,又不会全局污染,可以使用闭包。
闭包的三个特点是:
1.定义外层函数,封装被保护的局部变量;
2.定义内层函数,执行对外层函数局部变量的操作;
3.外层函数返回内层函数的对象;
并且外层函数被调用,结果被保存在全局变量中。
何时使用闭包?——既反复使用局部变量,又避免全局污染,就要使用闭包(保护局部变量,占用内存)
判断闭包的三个特点:
1.嵌套函数;
2.内层函数操作了外层函数的局部变量;
3.外层函数将内层函数返回到外部被全局变量保存。
判断闭包执行的结果:
1.外层函数被调用了几次,就有几个受保护的局部变量副本。
2.来自一个闭包的函数被调用几次,受保护的局部变量就变化几次。