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