原文:浅谈循环中setTimeout执行顺序问题

浅谈循环中setTimeout执行顺序问题 下面有见解一二 期望:开始输出一个 ,然后每隔一秒依次输出 , , , 。 结果:输出 。 原因:setTimeout 使函数延迟 s执行,而for循环执行完成还不到 . 秒,到执行函数的时候,其实 i 已经变成 了,因此console.log i 输出 。 解决方法一:使用let块作用域。 解决方法二:加个闭包。 结果:开始输出一个 ,然后每隔一秒依 ...

2019-04-11 19:37 0 1365 推荐指数:

查看详情

for循环中嵌套setTimeout执行顺序和结果该如何理解?

这两天在捣鼓作用域的问题,有的时候知识这个东西真的有点像是牵一发而动全身的感觉。在理解作用域的时候,又看到了一道经典的面试题和例子题。 那就是在for循环中嵌套setTimeout延时,想想之前面试的时候面试官问到我这个问题,然而我当时对这玩意儿根本没有深究,没有去理解;非常草率的回答了,面试官 ...

Thu Aug 17 19:51:00 CST 2017 3 10965
JS中For循环中嵌套setTimeout()方法的执行顺序

在For循环中执行setTimeOut()方法的代码,执行顺序是怎样的呢? 代码如下 应该会有人会说,很简单呀,for循环进行遍历,并且每次有一个输出,那结果应该是0,1,2,3,4。 其实不然,运行上诉代码之后,控制台输出如下:5个5 下面解释下为什么是5个5. ...

Tue Dec 10 21:59:00 CST 2019 0 1367
for循环中setTimeout()

的任务【闭包函数,setTimeout()中的函数开始执行执行三次】。 for循环是遵循js执行机制 ...

Tue Sep 24 03:33:00 CST 2019 0 721
promise和setTimeout执行顺序问题

提出问题问题代码为 在控制台运行其结果为: 疑问:既然promise.then和setTimeout都是异步的,那么在事件循环队列中 promise.then的事件应该排在setTimeout后面,那为什么promise.then却在setTimeout前面被打 ...

Tue Dec 25 00:07:00 CST 2018 0 684
关于setTimeout和Promise执行顺序问题

先看一段代码 执行结果: 可以看出Promise比setTimeout()先执行。 因为Promise定义之后便会立即执行,其后的.then()是异步里面的微任务。 而setTimeout()是异步的宏任务。 引自https ...

Fri Aug 31 19:21:00 CST 2018 0 6193
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM