自执行函数与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()方法用法总结

setTimeout()与setInterval()方法区别介绍

setTimeout()和setInterval()的用法

javascript怎么让函数执行完毕再执行

js中setTimeout和setInterval的应用方法(转)