我想定时打印出一串数字,写好了如下代码

for (var i = 0; i < 5; i++) {setTimeout(function () {console.log(i);}, 5);
}

打印出来的结果是5个5。为什么不是0,1,2,3,4呢?主要是因为setTineout的i是对外层i的引用,并非i的值,运行5次的结果都指向最终的i值(5)。可以通过将i值保存在局部变量来解决:

for (var i = 0; i < 5; i++) {(function (idx) {setTimeout(function () {console.log(idx);}, 5);})(i);
}

这样就可以打印出0,1,2,3,4。

转载于:https://www.cnblogs.com/qingfengliuyun092815/p/7457698.html

for循环console输出结果的问题相关推荐

  1. html页面循环div,jquery 循环数组输出显示在html页面

    jquery 没有双向数据绑定,但是很多需求确实需要我们从后台接收到数组或者对象循环显示在前台页面上,这时我们可以用字符串拼接,元素添加的方法去实现 js部分如下: $(function(){ var ...

  2. 写代码:使用while循环实现输出1,2,3,4,5,7,8,9,11,12

    # 使用while循环实现输出1,2,3,4,5,7,8,9,11,12 number = 1while number <= 12:if number == 6 or number == 10: ...

  3. qt获取console输出_怎么在Centos 7 安装 Qt-4.8.6-MySQL 驱动?

    Qt 是 C++ 的一个常用 gui 大而全的框架, 包含了很多实用的内容, 包括了数据库连接, 使开发变得非常的简单. MySQL 在 V5 已经是开箱即用了, MySQL-client 驱动默认安 ...

  4. Eclipse修改console输出最大行数及(IOConsole Updater)

    使用Eclipse进行调试时,希望终端输出窗口的缓存尽可能大一些,可以进行如下配置: Windows->Preferences->Run/Debug->Console 但是如果将co ...

  5. Java技巧:用一个循环语句输出九九乘法表!

    同学们在进行编程学习的时候,输出九九乘法表应该是基础中的基础了,只要我们使用几个循环语句即可轻松实现,那么你有没有想过如果只用一个循环语句应该怎么实现呢? 分析:注意是使用一个循环语句来写,增加了逻辑 ...

  6. 使用while 循环实现输出 1, 2, 3, 4, 5, 7, 8, 9, 11, 12(提示:输出结果为一行,没有6和10,12后面没有逗号)

    使用while 循环实现输出 1, 2, 3, 4, 5, 7, 8, 9, 11, 12(提示:输出结果为一行,没有6和10,12后面没有逗号) i = 1 # 定义一个自增变量i,初始值从1开始 ...

  7. 网页“console”输出图文信息

    http://www.monmonkey.com/javascript/jiben2.html 参考以上链接中的转义字符使用. http://www.cnblogs.com/Wayou/p/chrom ...

  8. java用while循环语句输出1-100内的奇数和

    java用while循环语句输出1-100内的奇数和 /*** 用while语句,输出0-100所有奇数和*/ public class Test04 {public static void main ...

  9. 一道面试题:三个线程循环有序输出10次ABCABC...

    面试遇到的一道面试题:三个线程循环有序输出10次ABCABC... 解决思路:使用synchronized,wait和notifyAll控制线程同步 package com.myj.test.thre ...

最新文章

  1. JAVA之二叉查找树
  2. 9个tcpdump使用实例
  3. 基于django的视频点播网站开发-step2-搭建环境
  4. python快速入门期末版_史上最全Python快速入门教程,满满都是干货
  5. python对象底层原理_Python字符串对象实现原理详解
  6. DM365 u-boot启动分析
  7. 九年级数学解方程50道_初中数学公式中考知识点总结,初三数学上册,九年级数学上册...
  8. 个人名义申请的支付接口。支付聚合网站汇总
  9. SIFT算法学习心得
  10. 微信公众号的开发 Senparc.Weixin.dll使用
  11. 多学一点(十三)——解决Linux kdump服务启动失败
  12. python实现基于 Adaboost 框架来构建自定义集成模型【自定义基分类器模型】
  13. mysql hsqldb_HSQLDB的使用方法
  14. 串口波特率自适应算法(仿真通过)
  15. 数据库表,excel,cvs 联系人转vcf
  16. 单词Demantoite翠榴石demantoite英语
  17. C语言查找素数的几种实现方法及代码的优化
  18. 浅析JWT Attack
  19. 技术人员的发展之路 - 陈皓
  20. android 定时更新banner图片,Android 用banner简单实现图片无限循环

热门文章

  1. Android 动态生成 EditTest
  2. myeclipse8.6安装svn
  3. ASP.NET Web API Model-ModelBinder
  4. Python 简介day01
  5. ssm+mysql+jsp打造在线考试系统WeKnow-学生端
  6. window 杀死已开任务启命令
  7. JS——EasyuiCombobox三级联动
  8. Android游戏框架之基础之AA碰撞系统
  9. C++语言代码检查工具PC-Lint简介
  10. Android 页面进行镜像反转-面试