📅  最后修改于: 2023-12-03 15:12:08.261000             🧑  作者: Mango
在程序中,我们常常需要设置超时来避免一些耗时操作或避免程序因阻塞而卡死。在Javascript中,我们可以通过setTimeout()和setInterval()函数来设置超时。
setTimeout()函数用于在指定的毫秒数后执行一个函数。
setTimeout(function() {
console.log('This will be printed after 3 seconds!');
}, 3000); // 3000ms = 3 seconds
上述代码中,我们传入了一个匿名函数作为第一个参数,该函数会在3秒后被执行。第二个参数为指定的时间,通过改变这个时间可以改变函数的执行时间。
如果在超时之前需要取消定时器的执行,可以使用clearTimeout()函数。
var timer = setTimeout(function() {
console.log('This will not be printed!');
}, 3000);
clearTimeout(timer);
上述代码中,我们先设置了一个定时器,并将其赋值给了一个变量timer。随后,我们立即清除了该定时器,此时匿名函数不会被执行。
setInterval()函数用于每隔指定毫秒数执行一次函数。
setInterval(function() {
console.log('This will be printed every 2 seconds!');
}, 2000); // 2000ms = 2 seconds
上述代码中,我们传入了一个匿名函数作为第一个参数,该函数会每隔2秒被执行一次。第二个参数为指定的时间间隔,通过改变这个时间可以改变函数的执行间隔。
如果需要取消setInterval()的执行,可以使用clearInterval()函数。
var timer = setInterval(function() {
console.log('This will be printed every 2 seconds!');
}, 2000);
clearInterval(timer);
上述代码中,我们设置了一个间隔为2秒的定时器,并将其赋值给了一个变量timer。随后,我们立即清除了该定时器,此时匿名函数不会再被执行。
通过setTimeout()和setInterval()函数,我们可以方便地设置超时和间隔执行函数。同时,通过清除定时器,我们可以在不需要函数执行的情况下取消定时器,从而更好地控制程序执行。