设置间隔加速| Javascript

设置间隔加速| Javascript,javascript,Javascript,我试图逐渐降低setinterval函数中函数的执行间隔 以下是原则的抽象代码: var speed = 100; window.setInterval( speed-= 0.01 , speed); 我认为速度值在setInterval的第一次执行时取一次并使用,而不是在每次执行时取一次,对吗。 如果是这样的话,我该怎么做?我通过将间隔设置为1000,将“速度-=”设置为999,然后打印速度值来验证这一点。 该值从1000跳到1,但随后继续下降999,甚至在该值变为负值后,setinterv

我试图逐渐降低setinterval函数中函数的执行间隔

以下是原则的抽象代码:

var speed = 100;
window.setInterval( speed-= 0.01 , speed);
我认为速度值在setInterval的第一次执行时取一次并使用,而不是在每次执行时取一次,对吗。 如果是这样的话,我该怎么做?我通过将间隔设置为1000,将“速度-=”设置为999,然后打印速度值来验证这一点。
该值从1000跳到1,但随后继续下降999,甚至在该值变为负值后,setinterval内的函数每1秒执行一次。

一个递归调用setTimeout并改变间隔的示例

函数go(){ var节点=document.createElement('div'); node.innerHTML=speed.toFixed(2); document.body.appendChild(节点); 如果(速度>1){ 设置超时(前进,速度); } 速度*=0.9; } 无功转速=100;
go()这里是一个增加时间间隔的示例,用于更好的可视化。为什么这个问题会被否决……我认为set timeout执行了一次,但有一个延迟??我认为函数是递归的