閉包(Closure)概念:一個函數對周圍狀態的引用捆綁在一起,內層函數中訪問到其外層函數的作用域。簡單來說;閉包=內層函數+引用外層函數的變量,如下圖:
外層在使用一個函數包裹住閉包是對變量的保護,使從外面不能修改變量。
閉包不一定有return,也不一定會造成內存泄漏。
當外部想使用內部的變量時才使用return
<script>function fun(){let count=0function fu(){count++console.log('被調用了'+count+'次')}return fu}const f=fun()</script>
?