自执行函数与setTimeout结合计算
Posted 武奘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自执行函数与setTimeout结合计算相关的知识,希望对你有一定的参考价值。
var v1=0,v2=0,v3=0;
for(var i=1;i<=3;i++){
var i2=i;
(function(){
var i3=i;
setTimeout(function(){此处执行的时候for循环已经结束 i=4固定值;i2=3固定值;i3为1 2 3 循环三次
v1 +=i;
v2 +=i2;
v3 +=i3;
console.log(v1,v2,v3);执行三次// 4 3 1 - 8 6 3 -- 12 9 6
},1);
})()
};
//console.log(v1,v2,v3);
setTimeout(function(){
console.log(v1,v2,v3);
},100)
setTimeout与 自执行函数结合时,settimeout执行时for循环已经结束自执行函数外部变量的值都已经固定 ;内部的settimeout执行i次,i分别为1 , 2...i,执行i次。
for(var j=0;j<10;j++){
(function(e){
setTimeout(function(){
console.log(e);
},1000);
})(j)
}//0.1.2...9
以上是关于自执行函数与setTimeout结合计算的主要内容,如果未能解决你的问题,请参考以下文章
JS里设定延时:js中SetInterval与setTimeout用法
javascript的setTimeout()与setTimeout()方法用法总结