您的位置:首页 > 其它

一个闭包小测试

2016-03-01 12:13 246 查看
for(var i = 0; i < 5; i++){
setTimeout(function() {
console.log(i);
},500);
}// 55555
for(var i=0; i < 5; i++){
(function(){
setTimeout(function(){
console.log(i);
},500);
})();
}//55555
for(var i=0; i < 5; i++){
(function(i){
setTimeout(function(){
console.log(i);
},500);
})(i);
}//01234

settimeout异步执行和闭包的综合;

第一个,没用闭包,定时器在执行时,它的作用域就和for循环外面的一样。第二个,用了闭包,它的作用域就多了一层,这一层里面有自己的变量。

每次for循环都是在注册一个定时器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: