闭包(Closure)概念:一个函数对周围状态的引用捆绑在一起,内层函数中访问到其外层函数的作用域。简单来说;闭包=内层函数+引用外层函数的变量,如下图:
外层在使用一个函数包裹住闭包是对变量的保护,使从外面不能修改变量。
闭包不一定有return,也不一定会造成内存泄漏。
当外部想使用内部的变量时才使用return
<script>function fun(){let count=0function fu(){count++console.log('被调用了'+count+'次')}return fu}const f=fun()</script>