gpt4 book ai didi

javascript - 为什么在js中每隔一秒弹出一次警告框

转载 作者:行者123 更新时间:2023-11-30 20:04:12 25 4
gpt4 key购买 nike

我想在整点弹出一个警告框。它弹出的那一刻,它每秒都会弹出。为什么会这样?

function popup() {
var today = new Date();
var currentMinute = today.getMinutes();
var currentHour = today.getHours();
if ( currentMinute == "00") {
alert("another hour has passed. it is now hour " + currentHour + " of the day!");
}
console.log( "popup" + currentMinute) ;

}

setInterval(function() { popup(); }, 1000);

最佳答案

你每秒弹出一个的原因是因为你使用了setInterval,间隔为1000毫秒,也就是 1 秒。所以你的 popup() 函数每秒都会被调用一次。一旦时间到达偶数小时(例如 3:00:00),currentMinute 的值将为 00 整整一分钟 ,因此当您的函数在一秒钟后 (3:00:01) 再次被调用时,if 语句的计算结果仍然为 true 并且弹出窗口再次显示。然后在 3:00:02、3:00:03 等再次出现,直到 3:01:00。

您可以将间隔更改为 1 分钟 (1000 * 60),这样它在同一分钟内不会被多次调用,或者设置一些变量来记录弹出窗口出现的时间显示并检查。

这里是第一种方法的例子:

function popup() {
var today = new Date();
var currentMinute = today.getMinutes();
var currentHour = today.getHours();
if (currentMinute === 0) {
alert("another hour has passed. it is now hour " + currentHour + " of the day!");
}
console.log("popup" + currentMinute);
}

setInterval(popup, 1000 * 60);

关于javascript - 为什么在js中每隔一秒弹出一次警告框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53089902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com