什么是闭包?函数嵌套函数,内部函数被外部函数返回并保存下来时,就会产生闭包
function fn(a){
return function(){
console.log(a)
}
}
var fo = fn('abcd')
fo()
特点:可以重复利用变量,并且这个变量不会污染全局的一种机制;这个变量是一直保存再内存中,不会被垃圾回收机制回收
缺点:闭包较多的时候,会消耗内存,导致页面的性能下降,在IE浏览器中才会导致内存泄漏
使用场景:防抖,节流,函数嵌套函数避免全局污染的时候