【发布时间】:2019-06-23 00:50:53
【问题描述】:
请查看我的代码以了解问题!!!
这是问题吗?
-
为什么他们使用 setTimeout 并且它只执行 1 次,而时钟需要一些方法像 setInterval 一样连续执行?甚至 setInterval 在这段代码中工作,但我的问题是 setTimeout 只执行 1 次,为什么它在这段代码中工作?
-
为什么是 500 毫秒,而 1 秒 = 1000?
请帮帮我
我将 setTimeout 更改为 setInterval 并且两者都工作这使问题变得更大,即使它们不一样,如何在这个示例中做同样的事情?
function startTime() {
var today = new Date();
var h = today.getHours();
var m = today.getMinutes();
var s = today.getSeconds();
m = checkTime(m);
s = checkTime(s);
document.getElementById('txt').innerHTML = h + ":" + m + ":" + s;
var t = setTimeout(startTime, 500);
}
function checkTime(i) {
if (i < 10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}
【问题讨论】:
-
-
请将代码添加到可以格式化的问题中,而不是作为评论
-
但很明显
setTimeout(startTime, 500)调用startTime调用setTimeout(startTime, 500)调用startTime......等等......但是,使用setInterval代替setTimeout是错误的做法,因为您将添加越来越多的间隔,因此代码将每半秒运行多次,直到最终,页面可能会变得无响应 -
"请查看我的代码以了解问题!!!"好的;但是在哪里???
-
Jaromanda X : 真的谢谢你,伙计,你现在很棒,我明白了,但是你说的小事 setInterval 错了它多次运行代码“我明白这一点”,而且 setTimeout 调用开始时间和等,也会多次调用该函数,并且会像 setInterval 一样,每 5 秒调用一次开始时间
标签: javascript settimeout timing