如何使用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