码迷,mamicode.com
首页 > 其他好文 > 详细

自执行函数与setTimeout结合计算

时间:2016-12-09 16:02:05      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:执行   log   time   结合   ++   --   function   console   外部变量   

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

标签:执行   log   time   结合   ++   --   function   console   外部变量   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!