JavaScript
提供定时执行代码的功能,叫做定时器(timer
),主要由setTimeout()
和setInterval()
这两个函数来完成。它们向任务队列添加定时任务。
setTimeout()
setTimeout
函数用来指定某个函数或某段代码,在多少毫秒之后执行。它返回一个整数,表示定时器的编号,以后可以用来取消这个定时器。
- 语法
var timerId = setTimeout(func|code, delay)
- 参数
参数 | 描述 |
---|---|
func |code | 是将要推迟执行的函数名或者一段代码 |
delay | 是推迟执行的毫秒数 |
- 实例
console.log(1);
// 1秒后执行 console.log(2)
setTimeout('console.log(2)',1000);
console.log(3);
setInterval()
setInterval
函数的用法与setTimeout
完全一致,区别仅仅在于setInterval
指定某个任务每隔一段时间就执行一次,也就是无限次
的定时执行。
- 语法
var timer = setInterval(func|code, delay)
- 参数
参数 | 描述 |
---|---|
func |code | 是定时执行的函数名或者一段代码 |
delay | 是每隔多长时间执行的毫秒数 |
- 实例
var i = 1
// 每隔1秒执行一次 console.log(2)
var timer = setInterval(function() {
console.log(2);
}, 1000);
取消定时器
setTimeout
和setInterval
函数,都返回一个表示计数器编号的整数值,将该整数传入clearTimeout
和clearInterval
函数,就可以取消对应的定时器。
var id1 = setTimeout(f,1000);
// 取消定时器 id1
clearTimeout(id1);
var id2 = setInterval(f,1000);
// 取消定时器 id2
clearInterval(id2);