• 自执行函数与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

  • 相关阅读:
    wenbao与分治
    wenbao与贪心
    wenbao与高精度
    wenbao与FFT
    wenbao与卡特兰数
    wenbao与类
    wenbao与取整函数
    wenbao与字符串转化
    wenbao与scanf
    wenbao与数字与字符串
  • 原文地址:https://www.cnblogs.com/qhhw/p/6149628.html
Copyright © 2020-2023  润新知