为什么运行此代码时控制台在循环之前返回第一个随机数?

Ebubechukwucyber
for(let i = 0; i< 3; i++){ 
  setTimeout(function (){
    console.log(i)
  }, 200);
}

上面的代码每次在返回之前每次在控制台中运行时都会首先返回一个随机数0 1 2

为什么会这样发生?

Theraot

当您将该代码发布到浏览器上开发人员工具中的控制台时,它将对其进行评估并输出返回的任何内容。setTimeout返回超时ID,例如,可以使用它来中止超时ID clearTimeout当然,该代码还会运行并按预期执行,从而产生其他输出。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么在排序数组的第一个元素中得到一个随机数?

如何使此代码在每次调用Python时都选择一个随机数?

为什么numpy从同一个随机状态返回不同的随机数?

为什么此PHP分配在循环中始终输出第一个值?

我创建了一个生成随机数的函数,该随机数包含在变量中。我在控制台上运行代码但未定义?

为什么在第一个exec语句之后返回此值?

为什么此代码在C ++中的第一个循环中省略了第二个单词

为什么第一个 for 循环没有在代码块中执行?

遍历 for 循环:为什么我的第一个 if 语句不运行?

为什么我的 Javascript 循环只返回第一个值?

为什么此函数只返回应为5的数组中的一个(第一个)值?

为什么我在 Python 中的递归骑士代码只运行第一个堆栈?

C ++随机数发生器-第一个随机数始终是7的倍数

为什么第一个是无限循环?

phpMyAdmin在插入第一个表时执行触发器时,在第二个表中存储一个随机数

货币转换器 - 为什么我在交换机不会工作循环?当我运行我的代码只有第一个for循环工程

第一个随机数总是小于休息数

为什么在控制台屏幕上输出之前,我必须再输入一个数字?

Powershell:如何删除数组控制台输出中的第一个空行?

C#中的第一个控制台应用程序

为什么每次运行Gatsby开发时都会显示第一个缓存构建

当我运行代码时,为什么在创建第一个形状后在过渡到第二个形状时留下很大的空白?

生成与第一个为零的随机数

setSeed之后的第一个随机数在Java中始终相似

随机数不起作用,仅显示在第一个元素上

C ASCII的随机数,为什么此代码错误?

为什么第二个代码段比第一个代码段运行得这么快?

脚本完成后有两个变量,但是当我通过管道传输到 SELECT 对象时,只有第一个将数据返回到控制台

“您的第一个Meteor应用程序”:表单将不会登录到控制台(包含指向MeteorPad上代码的链接)