SetInterval and clearInterval explanation

SetInterval and clearInterval explanation

本文关键字:explanation clearInterval and SetInterval      更新时间:2023-09-26
var fps = 30;
var drawInterval;
imageSprite.addEventListener('load',init,false);
function init() {
    drawBg();
    startDrawing();
}
function draw() {        
    clearJet();
    drawJet();
}
function startDrawing() {
    stopDrawing();
    drawInterval = setInterval(draw,1000 / fps);
}
function stopDrawing() {
    clearInterval(drawInterval);
}

谁能解释为什么我们在drawInetrval之前执行函数stopDrawing((以及这段代码将如何执行。

本质上,

clearInternal您正在停止 drawInterval 引用的间隔。

你可以把它看成是设置drawInterval = null

这样做是为了防止多个间隔触发:每次调用startDrawing时,您重置当前正在进行的间隔并启动一个新的间隔,该间隔将在 1000/fps 毫秒内触发,即 drawInterval将在最后一次调用 startDrawing1000/fps 毫秒触发。

它只是清除间隔,这样您就不会同时运行多个间隔。