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

最新文章

  1. python 学习总结
  2. unity, 取消ugui button响应键盘
  3. 使用fiddler2抓取手机发出的请求信息
  4. 好博客分享 go需要运行容器? 不需要
  5. HDU1071 The area 【积分】
  6. HDFS的java api操作
  7. Python 字节流写入文件
  8. SVN项目迁移到Git上(并带有完整的提交记录)
  9. clearRect清除html5画布
  10. ansible环境部署及常用模块总结 - 运维笔记
  11. linux 卸载数据库
  12. linux 系统 目录,以部分及相关命令
  13. JSP Servlet学习笔记——使用fileupload上传文件
  14. Android应用安全防护和逆向分析 ——apk反编译
  15. dm8127前段采集和抓拍
  16. Python学习---重点模块的学习【all】
  17. HTML5 表单自学记录
  18. 【平台中间件】Nginx安装配置,实现版本更新不影响服务访问
  19. Azure自定义角色实现RBAC
  20. fpga加法进位链实现过程中的一个特点

热门文章

  1. 常用CSS样式
  2. 一个自定义控件的Demo
  3. Python学习基本
  4. Ubuntu下freeradius-server的安装
  5. Win7下Hyenae的安装
  6. Oracle查询数据库中的所有表
  7. sqlite的常用语法
  8. SQL-数学、字符串、时间日期函数和类型转换
  9. html学习心得
  10. 新手码农浅谈观察者模式(java语言简单实现)