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

  • 相关阅读:
    css 三角形
    转盘
    使用history.back()出现"警告: 网页已过期的解决办法"
    jQuery 左侧滑动
    Go语言数组的使用
    Go的变量作用域
    Go语言中函数的实现
    Go语言循环判断的使用~
    Go基础
    go环境的安装~
  • 原文地址:https://www.cnblogs.com/qhhw/p/6149628.html
Copyright © 2020-2023  润新知