JavaScript定时器有两种,
setTimeout():指定时间后执行一段代码(延迟执行)。setInterval():每隔一段时间执行一段代码(间隔执行)。1、setTimeout() 定时器
语法:
window.setTimeout(调用函数, [延迟的毫秒数]);
setTimeout()方法用于设置一个定时器,该定时器在定时器到期后执行调用函数。
具体用法:
定时五秒钟出现弹窗‘你好‘’
window.setTimeout(function(){ alert('你好'); },5000);
注意点:
window 可以省略。这个调用函数可以直接写函数,或者写函数名或者采取字符串‘函数名()'三种形式。延迟的毫秒数省略默认是 0,如果写,必须是毫秒。setTimeout() 这个调用函数我们也称为回调函数callback,普通函数是按照代码顺序直接调用。而这个函数,需要等待时间,时间到了才去调用这个函数,因此称为回调函数。
2、停止 setTimeout() 定时器
let t = setTimeout(function(){ alert('你好'); },5000);clearTimeout(t); // 传入定时任务的标识符console.log("任务取消,五秒后我不会有任何输出!")
clearTimeout()方法取消了先前通过调用 setTimeout()建立的定时器。
3、setInterval() 定时器
语法:
window.setInterval(回调函数, [间隔的毫秒数]);
setInterval()方法重复调用一个函数,每隔这个时间,就去调用一次回调函数。
具体用法:
设置一个定时器,每隔2秒打印一次‘你好’
setInterval(function(){ console.log('你好') },2000);
window 可以省略。这个调用函数可以直接写函数,或者写函数名或者采取字符串 ‘函数名()’ 三种形式。间隔的毫秒数省略默认是 0,如果写,必须是毫秒,表示每隔多少毫秒就自动调用这个函数。第一次执行也是间隔毫秒数之后执行,之后每隔毫秒数就执行一次。 4、清除setInterval() 定时器
let t = setInterval(function(){ console.log('你好') },2000); // 用上面学到的 setTimeout() 来取消循环定时任务setTimeout(() => { clearInterval(t); console.log("我在五秒时被取消!");;}, 5000);
clearInterval()方法取消了先前通过调用 setInterval()建立的定时器。