js for循环中如何延迟执行

js for循环中如何延迟执行,第1张

不到万不得已、山穷水尽的地步,请尽量不要在循环中做延迟处理,因为这会造成整个网页都卡住甚至崩溃,应该尽量利用定时器或计时器去解决。

比如下面这个for循环是依次显示0到升卖9这十个数吵困逗字,由于尺瞎未做延迟处理,整个过程是瞬间完成的:

<script>

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

document.querySelector("#test").innerHTML+=i+" "

}

</script>如果要实现每隔1秒显示一个数字,则这样:

<script>

var i=0

setTimeout(function x(){

document.querySelector("#test").innerHTML+=i+++" "

if(i<10)setTimeout(x,1000)

},1000)

</script>

我们先来看一个御纤胡例子

在JS方法里面设置一镇拦个for循环,输出每次循环的值,如下图

我们可以根据闭包的知识来更改一下for循环中的逻辑,利用闭包将i的值传递给竖山a

这次在运行程序我们就可以看到输出内容是0开始输出了

结果如下图

JS中如果for循环中有异步方法,就需要用闭包的方式保留当前循环变量值


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11967907.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存