什么是闭包?
满足一下两个条件:
1、函数内部嵌套的函数,嵌套的函数引用外部的变量
2、内部函数被外部引用
为什么使用闭包
1.解决无法使用内部变量
2.解决全局变量污染问题
自由变量:函数内部使用自己不存在(外部)的变量,这个变量就是自由变量
注:跨域的变量;
// 闭包
function f69() {
let a = 1;
return function(){
console.log(a++);
if (a > 5) {
clearInterval(timer);
f70=""//关闭闭包
}
}
}
let f70 = f69();
let timer = setInterval(f70, 1000);//1 2 3 4 5