闭包
函数内部嵌套函数,内部函数访问外部函数中的变量
举例说明:
function fun1() {
var name = 'weiyanling';
function fun2(){
var age = 22;
console.log(name);
console.log(age);
}
fun2()
}
fun1()
结果是 weiyanling
22
闭包的使用场景
1. 作为其他函数的参数
2. 可以实现防抖、节流
使用闭包会产生什么问题
会造成内存泄漏,
也就说正常情况下,js会将使用过的变量通过垃圾回收器进行回收,其实就是释放内存;闭包会使得外部函数中的变量无法被垃圾回收器回收