全局變量和局部變量都有缺點,全局變量容易造成全局污染,而局部變量則無法共享,不能長久保存,爲了使變量既可以共享,長久保存,又不會全局污染,可以使用閉包。
閉包的三個特點是:
1.定義外層函數,封裝被保護的局部變量;
2.定義內層函數,執行對外層函數局部變量的操作;
3.外層函數返回內層函數的對象;
並且外層函數被調用,結果被保存在全局變量中。
何時使用閉包?——既反覆使用局部變量,又避免全局污染,就要使用閉包(保護局部變量,佔用內存)
判斷閉包的三個特點:
1.嵌套函數;
2.內層函數操作了外層函數的局部變量;
3.外層函數將內層函數返回到外部被全局變量保存。
判斷閉包執行的結果:
1.外層函數被調用了幾次,就有幾個受保護的局部變量副本。
2.來自一個閉包的函數被調用幾次,受保護的局部變量就變化幾次。