我想使用 JavaScript 创建一个计时器,但当我想理解代码时遇到了这个问题:
在 if 语句中编写这段代码的目的是什么:
let [seconds, minutes, hours] = [0, 0, 0];
let displayTime = document.getElementById("displayTime");
let timer = null;
function stopwatch() {
seconds++;
if (seconds == 60) {
seconds = 0;
minutes++;
if (minutes == 60) {
minutes = 0;
hours++;
}
}
let s = seconds < 10 ? "0" + seconds: seconds;
let m = minutes < 10 ? "0" + minutes: minutes;
let h = hours < 10 ? "0" + hours: hours;
displayTime.innerHTML = h + ":" + m +":"+ s;
}
function watchStart() {
if(timer !== null) {
clearInterval(timer);
}
timer = setInterval(stopwatch, 1000);
}
这个条件什么时候实现?我们是否假设它已经实现了它的目的?
希望大家都能理解我的问题。
帮助您理解这段代码:
if(timer !== null) {
clearInterval(timer);
}
timer !== null
是一个布尔值(返回 true 或 false)
这基本上是检查计时器是否存在。
timer
:可变计时器
!==
:不等于(不严格)
null
:没有任何内容或未定义的特殊关键字
所以它翻译为“
timer
不等于未定义”
或者更简单地说,“timer
定义了吗?”
或“timer
还存在吗?”
因此它只是检查计时器是否仍然存在,因为在调用
clearInterval()
之前,某些代码可能已经清除了计时器,以避免尝试清除不存在的间隔时出现任何潜在错误。