验证码再次发送倒计时、广告定时隐藏、网页定时跳转和网页轮播图自动轮播等都使用到了定时器功能。window 对象给我们提供了 2 个有关的方法-定时器。
- setTimeout()
- setInterval()
setTimeout() 定时器
window.setTimeout(调用函数[, 延迟的毫秒数]);
setTimeout() 方法用于设置一个定时器,该定时器在定时器到期后执行调用函数。
语法:
- window 可以省略。
- 这个调用函数可以直接写匿名函数,或者写函数名或者采用字符串 ‘函数名()’ 的形式。不推荐使用第三种写法。
- 延迟的时间默认是 0 ,如果写时间参数,则单位是 ms 。
- 程序使用定时器可能很多,所以我们经常给定时器赋值一个标识符。也方便需要时清除定时器。
停止 setTimeout() 定时器
window.clearTimeout(timeoutID);
clearTimeout() 方法取消了先前通过 setTimeout() 方法建立的定时器。当然如果没有停止,setTimeout() 定时器到期执行后也会自动停止(只会执行一次)。timeoutID 就是定时器的标识符。
setInterval() 定时器
window.setInterval(回调函数[, 间隔的毫秒数]);
setInterval() 方法重复调用一个函数,每隔这个时间就会调用一次回调函数。
语法:
- window 可以省略。
- 这个调用函数可以直接写匿名函数,或者写函数名或者采用字符串 ‘函数名()’ 的形式。不推荐使用第三种写法。
- 延迟的时间默认是 0 ,如果写时间参数,则单位是 ms 。表示每隔多少 ms 就自动调用这个函数。
- 程序使用定时器可能很多,所以我们经常给定时器赋值一个标识符。也方便需要时清除定时器。
- 第一次执行定时器时也是间隔指定毫秒数后执行,之后每隔这个时间就执行一个次。
停止 setInterval() 定时器
window.clearInterval(intervalID);
clearInterval() 方法用于取消先前调用 setInterval() 建立的定时器。