for(var i=0;i<5;i++){setTimeout(function(){console.log(i);},i*1000)
}
// 输出5次5,一秒一次
  • setTimeout是异步执行的,i*1000毫秒后向队列里添加一个任务,只有主线上的全部执行完才会执行任务队列里的任务,所以当主线for循环执行完之后i的值为5,这个时候再去任务队列中执行任务,i全部为5

  • 每次for循环的时候setTimeout都会执行,但是里面的function则不会执行,被放入任务队列,因此放了5次,1秒执行一次

  • 如果把var换成let,那么输出结果为0,1,2,3,4

   for(let i=0;i<5;i++){setTimeout(function(){console.log(i);},i*1000)}// 输出 0,1,2,3,4 一秒输出一个
  • 因为let i 是的块级变量,每个i只能存活到大括号结束,并不会把后面的for循环的i赋值给前面的setTimeout中的i;而var i 则是局部变量,这个i的声明周期不受for循环大括号的限制

setTimeout和for循环相关推荐

  1. 异步、作用域、闭包--setTimeout在for循环中的思考

    题目: for(var i=0;i<=3;i++){ setTimeout(function() {  console.log(i)  }, 10);} 理想答案是输出:0,1,2,3 实际答案 ...

  2. JavaScript setTimeout() 介绍

    setTimeout() 是属于 window 的方法,该方法用于在指定的毫秒数后调用函数或计算表达式. 语法格式可以是以下两种: setTimeout(要执行的代码, 等待的毫秒数) setTime ...

  3. 前端定时器 setInterval 和 setTimeout

    前端定时器 setInterval 和 setTimeout 1.setInterval 循环执行 设置循环执行 销毁定时器 2.setTimeout 定时执行 设置定时执行 3. setTimeou ...

  4. js中的SetTimeOut

    1. SetTimeOut()              1.1 SetTimeOut()语法例子              1.2 用SetTimeOut()执行Function           ...

  5. JavaScript setTimeout函数

    setTimeout的作用:延迟一段时间执行某个函数. 例如:setTimeout(function(){alert("延迟5秒执行...")},5000); 注意:setTime ...

  6. 详解队列在前端的应用,深剖JS中的事件循环Eventloop,再了解微任务和宏任务

    队列在前端中的应用 一.队列是什么 二.应用场景 三.前端与队列:事件循环与任务队列 1.event loop 2.JS如何执行 3.event loop过程 4. DOM 事件和 event loo ...

  7. Vue中使用定时器setInterval和延迟执行setTimeout

    js中定时器有两种,一个是循环执行setInterval,另一个是定时执行setTimeout 一.循环执行(setInterval) 顾名思义,循环执行就是设置一个时间间隔,每过一段时间都会执行一次 ...

  8. vue3.0 + JsBarcode 循环生成多个条形码(setup语法糖)

    1.安装jsbarcode npm install jsbarcode --save 2.html页面循环数据 //id动态绑定,使用类名加index <div class='js_barcod ...

  9. js 中的SetTimeOut()

    setTimeout( ) 是属于 window 的 method, 但我们都是略去 window 这顶层物件名称, 这是用来设定一个时间, 时间到了, 就会执行一个指定的 method setTim ...

最新文章

  1. mysql 多个游标_mysql 存储过程中使用多游标
  2. STM8L编程环境官方库+STVD+COSMIC+ST-Link
  3. 渲染好的页面怎么转为图片_图片导成PDF后页面大小不同怎么办
  4. C#并发编程之异步编程(二)
  5. HTML5---新增客户端储存
  6. 【机器学习】鸢尾花数据探索
  7. 服务器系统怎样设置定时开关机,如何配置服务器定时开关机
  8. Javascript基础——函数
  9. 一款可以通过经度纬度精确查询天气的工具
  10. 网上打印多少张发货?
  11. codelite交叉编译动态库学习记录
  12. 哈工大计算机网络Mooc 第十一章笔记(局域网)
  13. Libtorch:Linux系统中使用libtorch【下载、解压】【下载的libtorch是编译好的库文件,可直接使用】
  14. java毕业生设计在线学习辅导与答疑系统计算机源码+系统+mysql+调试部署+lw
  15. Springboot毕设项目海尔空调售后服务系统d70j3java+VUE+Mybatis+Maven+Mysql+sprnig)
  16. 华为笔试题4——最高分是多少
  17. 做一款热门游戏----没有99美元的Impact也行
  18. 小学计算机兴趣组活动记录,小学信息技术兴趣小组活动记录.doc
  19. 远程办公团队如何沟通?
  20. web应用 —— JavaScript

热门文章

  1. 告警流量分析:Cobalt Strike(默认实验文)
  2. 关于nodejs发送带参数的post请求调用人人网api
  3. 论坛没落了吗?传统BBS(论坛)何去何从?
  4. 酷狗音乐关键字搜索并生成下载url
  5. ADSL拨号密码如何修改?
  6. 常见ADSL管理入口和密码
  7. ChatGPT 是什么?
  8. OpenCV图形处理
  9. 周志明:《凤凰架构:构建可靠的大型分布式系统》
  10. 电脑说话,我家的电脑成精了!它开口说话了