Javascript 为什么增加setInterval的延迟会导致它减少延迟?

Javascript 为什么增加setInterval的延迟会导致它减少延迟?,javascript,Javascript,我在JavaScript中有一个setInterval(functionName,1000)它会生成暴徒的图像。我认为它们产卵太快了,所以我把延迟时间改为2000。它产生的速度更快(我估计延迟为100)。为什么会发生这种情况 对于希望了解我的代码的用户: var spawner=setInterval(spawnZombie,20000); setInterval(moveZombie,100); 函数beawnzombie(){ 设zombProp=`{zombNum}`; 让zombID=`

我在JavaScript中有一个
setInterval(functionName,1000)

它会生成暴徒的图像。我认为它们产卵太快了,所以我把延迟时间改为2000。它产生的速度更快(我估计延迟为100)。为什么会发生这种情况
对于希望了解我的代码的用户:

var spawner=setInterval(spawnZombie,20000);
setInterval(moveZombie,100);
函数beawnzombie(){
设zombProp=`{zombNum}`;
让zombID=`zomb${zombNum}`;
设randomX=getRandom(500);
设randomY=getRandom(1300);
僵尸[zombProp]={};
僵尸[zombProp].hp=3;
僵尸[zombProp].alive=true;
僵尸[zombProp].x=randomX;
僵尸[zombProp].y=randomY;
僵尸[zombProp].id=zombID;
createElement(“img”,null,“map”,“src”,“sprites/zombie_right.png”,“id”,zombID);
get(zombID).style.position=“绝对”;
get(zombID).style.top=`${randomX}px`;
get(zombID).style.right=`${randomY}px`;
zombNum++;
}

所有变量都已定义。setInterval附加到一个变量,因此可以在生成5个僵尸后将其清除,反之亦然。

您提供给
setInterval
的数字是间隔的周期。如果你增加周期,你会使它变慢。如果您想加快速度,请缩短间隔

文件

const log1sec=()=>console.log('1秒',新日期().getSeconds())
const log2sec=()=>console.log('2秒',新日期().getSeconds())
设置间隔(log1sec,1000)

setInterval(log2sec,2000)
也许你有一个功能,可以创建一个新的函数,在现有的循环上“重叠”,因此,滑块看起来加速了,但它只是一个循环开始于另一个循环。

我问为什么增加间隔不会使它变慢。增加和减少间隔实际上都减少了函数调用之间的时间。编辑了这篇文章以包含一个示例,您能试一试吗@DaveRainbowinI看,这就是setInterval的行为。在我的例子中,就像我说的,如果间隔变大或变小,周期变小,函数调用得更快。注意:减少间隔比增加间隔更快。你的函数是异步的吗?也许这与你的函数的作用有关,让我来了解一下异步函数是什么。你必须分享你的实际代码,让大家知道为什么移动僵尸的代码是什么?间隔时间很短。移动僵尸将僵尸移向玩家。它不会产生任何僵尸,也不是原因。这种情况每次都会发生,我忘了它可能会发生。非常感谢。