setTimeout() 定时器
window.setTimeout(回调函数, [延迟的毫秒数])
setTimeout()
方法用于设置一个定时器,该定时器在定时器到期后执行调用函数
停止setTimeout() 定时器
let timer = window.setTimeout(回调函数, [延迟的毫秒数])
window.clearTimeout(timer)
clearTimeout() 方法取消了先前通过调用setTimeout() 建立的定时器
里面的参数就是定时器的标识符
setInterval() 定时器
window.setInterval(调用函数, [延迟的毫秒数])
setInterval()
方法重复调用一个函数,每隔这个时间,就去调用一次回调函数
停止setInterval() 定时器
let timer = window.setInterval(调用函数, [延迟的毫秒数])
window.clearInterval(timer)
clearInterval() 方法取消了先前通过调用setInterval() 建立的定时器
里面的参数就是定时器的标识符
延时函数-间歇函数区别
setInterval
的特征是重复执行,首次执行会延时setTimeout
的特征是延时执行,只执行一次setTimeout
结合递归函数,能模拟setInterval
重复执行clearTimeout
清除由setTimeout
创建的定时任务clerInterval
清除由setInterval
创建的定时任务
结合递归函数可以使用 swtTimeout
实现 setInterval
一样的功能
<div class="clock"></div>
<script>
let clock = document.querySelector('.clock')
function myInterval () {
let date = new Date()
clock.innerText = date.toLocaleString()
// 延时任务 自调用
setTimeout(myInterval, 1000)
}
// 启动定时任务
myInterval()
</script>