首页 > 其他 > 详细

自执行函数与setTimeout结合计算

时间:2016-12-09 15:59:51      阅读:221      评论:0      收藏:0      [点我收藏+]

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结合计算

原文:http://www.cnblogs.com/qhhw/p/6149628.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!