所以我有一个完全基本的 html 文件。 我想做的是选择一个随机数 0-100,每次运行的间隔都会增加,我想要的方式是让 for 循环在每次运行时执行代码,这样 setTimeout 就会增加延迟每一次。我最终得到的是一个非常快的运行速度,并且始终有相同的延迟。 我的代码可能会进一步解释如下:
for ( i = 0; i < Math.floor( Math.random() * 2000 ); i+=100 ) {
setTimeout( () => {
document.body.innerHTML = ( Math.random() * 101 );
}, i );
}
我希望这样做的原因是这样代码最终会有一个停止点。
最佳答案
Undeclared variables are always global
用let
声明变量i
,这将创建一个 block 范围的局部变量,并将保留函数中的当前迭代值:
for (let i = 0; i < Math.floor( Math.random() * 2000 ); i+=100 ) {
setTimeout( () => {
//document.body.innerHTML += ( Math.random() * 101 );
console.log(i);
}, i );
}
关于javascript - 增加 Javascript 中的 setTimeout 间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60179709/