JavaScript 提供了两种实现定时器和计时器的方法:setTimeout() 和 setInterval()。
setTimeout() 方法会在指定的时间后执行一次函数。它接受两个参数:要执行的函数和延迟的时间(以毫秒为单位)。
function myFunction() {
console.log("Hello");
}
setTimeout(myFunction, 3000); // 3 秒后输出 "Hello"
setInterval() 方法会在指定的时间间隔内反复执行函数。它也接受两个参数:要执行的函数和时间间隔(以毫秒为单位)。
function myFunction() {
console.log("Hello");
}
setInterval(myFunction, 1000); // 每秒钟输出 "Hello"
可以使用 clearInterval() 和 clearTimeout() 方法来取消定时器和计时器。
var myInterval = setInterval(myFunction, 1000);
function myFunction() {
console.log("Hello");
}
clearInterval(myInterval); // 取消定时器
以上代码会输出 "Hello" 一次,然后停止执行。
使用定时器实现倒计时:
var countDownDate = new Date("Jan 1, 2022 00:00:00").getTime();
var x = setInterval(function() {
var now = new Date().getTime();
var distance = countDownDate - now;
var days = Math.floor(distance / (1000 60 60 24));
var hours = Math.floor((distance % (1000 60 60 24)) / (1000 60 60));
var minutes = Math.floor((distance % (1000 60 60)) / (1000 60));
var seconds = Math.floor((distance % (1000 60)) / 1000);
console.log(days + "d " + hours + "h " + minutes + "m " + seconds + "s ");
if (distance < 0) {
clearInterval(x);
console.log("Happy New Year!");
}
}, 1000);
以上代码会输出距离 2022 年新年的倒计时,并在新年时输出 "Happy New Year!"。