闭包
局部变量的生命周期:作用域的开始到结束,结束后,变量呢?被销毁,没了,不能使用
闭包:将局部变量进化成私有变量的环境,叫闭包
这个环境一般是作用域的嵌套
将原本要删除的变量,不删除,继续使用
计算机的垃圾回收机制:不立即删,先放在临时空间内,可以二次或继续使用
闭包的应用:
循环中的事件,获取计数器的值
var ali = document.querySelectorAll(“li”);
for(var i=0;i<ali.length;i++){
ali[i].onclick = (function(a){
return function(){
console.log(a);
}
})(i)
}
在计时器的回调函数中传参
function fn(str){
return function(){
console.log(str);
}
}
setTimeout(fn("html"), 1000);