for(var i=0;i<10;i++){

setTimeOut(function(){

console.log("i:",i);

},100)

}

上面显示的打印出来结果,都是 10

解决方法:

1)使用立即执行函数

for(var i=0;i<10;i++){

(function(i){

setTimeOut(function(){

console.log("i:",i);

},100)

})(i)

}

2)let定义变量

for(let i=0;i<10;i++){

  setTimeout(function(){

    console.log("i:",i);

   },100)
}

最新文章

  1. Git合并分支操作
  2. 2016HUAS_ACM暑假集训4B - 递推
  3. MySQL+Keepalived实现双机HA
  4. reactor模式学习
  5. [置顶] 实现360度全景图像的利器--PanoramaGL
  6. 【锋利的jQuery】中全局事件ajaxStart、ajaxStop不执行
  7. GDAL书籍中删除数据勘误(C#语言)
  8. ubuntu 安装 lamp
  9. jieba中文分词.net版
  10. JS &amp; JQuery 动态处理select option
  11. tomcat如何访问非webapp下的资源文件
  12. css3动画transition animation
  13. spring/spirng boot添加fluent日志-aop
  14. pip指定网址安装
  15. 使用ThinkPHP实现生成缩略图及显示
  16. Java Calendar,Date,DateFormat,TimeZone,Locale等时间相关内容的认知和使用(3) Date
  17. 值得收藏的批处理程序 - imsoft.cnblogs
  18. test20180829
  19. ETL项目场景
  20. iOS动画相关(持续更新)

热门文章

  1. 状态保存机制之ViewState概述及应用
  2. kvm_虚拟机迁移
  3. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 06. Controller 返回View
  4. ccflow_005.请假流程-傻瓜表单-审核组件模式
  5. (水题)洛谷 - P1036 - 选数
  6. Raphael.js改变元素层叠顺序
  7. Zabbix-Server 添加主机
  8. scikit-learning API
  9. Apache下禁止使用IP直接访问本站的配置方法
  10. 06.NopCommerce配置邮箱账户