如何使用setInterval和clearInterval?

function doKeyDown(event) {

switch (event.keyCode) {

case 32:

/* Space bar was pressed */

if (x == 4) {

setInterval(drawAll, 20);

}

else {

setInterval(drawAll, 20);

x += dx;

}

break;

}

}

大家好,

我想调用 而不创建一个反复调用的 ,drawAll我应该为此使用递归方法还是应该使用

还请告诉我使用clearInterval?谢谢 :)

回答:

setInterval设置一个 定期 计时器。它返回一个句柄,您可以将其传递clearInterval来阻止它触发:

var handle = setInterval(drawAll, 20);

// When you want to cancel it:

clearInterval(handle);

handle = 0; // I just do this so I know I've cleared the interval

在浏览器上,保证句柄是一个不等于0;

的数字。因此,0为“未设置计时器”设置一个方便的标志值。(其他平台可能返回其他值;例如,NodeJS的计时器函数返回一个对象。)

要将功能安排为

触发一次,请setTimeout改用。它不会继续射击。(它还会返回一个句柄clearTimeout,如果合适的话,可以在触发一次之前取消该句柄。)

setTimeout(drawAll, 20);

以上是 如何使用setInterval和clearInterval? 的全部内容, 来源链接: utcz.com/qa/414766.html

回到顶部