全局变量和局部变量都有不可兼得的优缺点,全局变量可以反复使用,但是因为随处可以,所以极易被篡改,局部变量仅函数内可用,不会被篡改,但是不可重用。基于以上存在的问题,需要使用闭包来解决。
一、什么是闭包:
1、用途:既重用一个变量,又保护变量不被篡改的一种编程方法
2、本质:外层函数的作用域对象,被内层函数引用着无法释放,形成了闭包对象
二、什么时候使用闭包:
只要希望给一个函数保护一个专属的变量,只有函数内可以反复使用,函数外无法改变这个变量,就要用闭包。
三、如何使用:
1、用外层函数将要保护的变量和使用这个变量的函数包裹起来
2、要想让内层函数在外部依然可用,则需要外层函数将内层函数返回到外部 (内层函数此时没必要起名,将来谁用谁接住,谁再起名)
3、想要获得内层函数的人,必须调用外层函数才能获得内层函数的对象继续使用
四、例:使用闭包实现一个管理零花钱的函数