目录
计时事件
js 可以允许我们有能力做到在一个设定的时间间隔之后来执行代码。
核心方法
- setTimeout()
未来指定的时间执行
- clearTimeout()
取消 setTimeout()
setTimeout()
语法
var t = setTimeout("js statement;", timeInMills);
即间隔 timeInMills 后执行 参数1中的 js 语句。
setTimeout() 方法的返回值被存储在 t 中,你可以根据 t 来取消计时事件。
例子
- 指定时间后执行
var t = setTimeout("console.log('hi~');", 5000);
效果: 5s 后打印调试栏输出 hi~
信息。
- 无限循环执行
有时我们可能需要一个事件,在指定的间隔内不断重复执行。
实现原理:调用自身
var t;
function forever() {
console.log('hi~');
t = setTimeout(forever(), 5000);
}
效果: 5s 后打印调试栏输出 hi~
信息,并且每隔 5S 输出一次。
clearTimeout()
用来取消我们定义的计时事件
比如上面的循环,我们如果想终止:
var t;
function forever() {
console.log('hi~');
t = setTimeout(forever(), 5000);
}
//这里终止
function stop() {
clearTimeout(t);
}