js 在for循环中使用延时
时间: 2023-11-13 16:05:03 浏览: 141
关于for循环写延时函数
在 JavaScript 中,在 for 循环中使用延时可以通过使用 setTimeout() 函数或者 setInterval() 函数来实现。以下是两种使用方式的示例:
1. 使用 setTimeout() 函数:
```javascript
function delayedLoop() {
for (var i = 0; i < 10; i++) {
(function(i) {
setTimeout(function() {
console.log(i);
}, i * 1000);
})(i);
}
}
delayedLoop();
```
在这个例子中,我们定义了一个函数 delayedLoop(),在函数中使用了一个 for 循环,循环次数为 10。在循环中,我们使用了一个立即执行函数来创建一个新的作用域,以便在 setTimeout() 回调函数中能够正确地访问循环变量 i 的值。然后,我们使用 setTimeout() 函数来延迟执行每次循环中的代码,使每次输出的结果间隔 1 秒。
2. 使用 setInterval() 函数:
```javascript
var i = 0;
function delayedLoop() {
if (i < 10) {
console.log(i);
i++;
} else {
clearInterval(intervalId);
}
}
var intervalId = setInterval(delayedLoop, 1000);
```
在这个例子中,我们定义了一个全局变量 i,初始值为 0。然后,我们定义了一个函数 delayedLoop(),用于输出 i 的值。在函数中,我们先判断 i 的值是否小于 10,如果是,则输出 i 的值,并将 i 的值加 1。如果 i 的值已经大于或等于 10,则使用 clearInterval() 函数停止 setInterval()。
最后,我们使用 setInterval() 函数每隔 1 秒钟调用一次 delayedLoop() 函数,从而实现在 for 循环中使用延时的效果。
阅读全文