Javascript - 关于设置超时的问题

标签 javascript reactjs

根据我的理解,由于提升,下面的函数应该打印5五次。但相反,它打印 6 五次

问题是,当循环的限制是 <=5 时,它为什么会打印 6

function () {
  for ( var i = 1; i <= 5; i++) {
    setTimeout( function() {
      console.log(i); // 👈 this should print '5' five times 
    }, i * 1000)
  }
}

最佳答案

for 循环在满足退出条件(即 6 > 5)的 i++ 发生后停止 - 此时,i< 的值 已经增加到 6 ,大约一秒后,i 的值被打印

关于Javascript - 关于设置超时的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67945989/

相关文章:

javascript - 在每个月初重置计数器

javascript - jQuery 如何使弹出窗口在计时器上出现/消失?

javascript - 如何使用 Enzyme 和 Jest 测试 Formik Fields?

django - Django 和 React 之间的通信

javascript - JSON 对象与 Javascript 对象

javascript - 防止在当前动画运行时跳转到下一个动画的开始

javascript - 将数学运算符存储在变量中?

reactjs - React 中的 "Prop"到底是什么?

reactjs - 尝试导入错误 : 'Switch' is not exported from 'react-router-dom'

javascript - 渲染价格或拥有基于 2 个数组