如何在 Javascript 中重置一个变量并在特定时间后播放警报?

How can one reset one variable in Javascript and playing an alert after a specific time?

我正在尝试编写一个小游戏,它应该在 5 秒后重新加载并告诉人们他们太慢了。而且,变量点要重新设置,这样才能从新开始。 随着

 setInterval(function(){
                window.location.href = "javascript:window.top.location.reload(true)";
            }, 5000);    

整个网站已加载,人们必须从头开始。当他们按下 command+R 时也会发生同样的情况。

我现在尝试重置变量点并显示它们太慢的警报。

 setInterval(function(){
                alert("You were too slow!");
                 points = 0; 
            }, 5000);

如果我使用此代码,则警报会持续快速弹出。我怎样才能重置所有内容并且每 5 秒才收到一次警报?

根据浏览器的不同,内部计时器将继续 运行,而模态将像在 Firefox 中一样显示,或者像在 Chrome 中一样冻结。所以在 Firefox 中,如果模式保持打开超过 5 秒,那么下一个将在当前模式关闭后立即显示。

只有在极少数情况下您才真正想要使用 setInterval,即使您有定期发生的事件,但大多数时候您应该使用 setTimeout

var roundTimeoutTimer;

function tookToLong() {
   alert("You were too slow!");
   points = 0; 
}

function startTask() {
   roundTimeoutTimer = setTimeout(tookToLong, 5000)
}

function finishedTask() {
   clearTimeout(roundTimeoutTimer)
}