zoukankan      html  css  js  c++  java
  • 自执行函数与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

  • 相关阅读:
    云? 云! 晕! 云计算适合创业公司么?
    批量转移Windows Server的DNS设置
    Signs that you are a bad programmer
    IsNull Function in PeopleSoft MetaSQL
    JS绘制曲线图
    Why does my shared clipboard not work?
    C#入门详解(2)
    C#入门详解(1)
    分享范玮琪最初的梦想
    像战士一样生活
  • 原文地址:https://www.cnblogs.com/qhhw/p/6149628.html
Copyright © 2011-2022 走看看