背景
在web编程中,我们经常需要重复一件事,或者让一个操作多次重复执行。JavaSript为我们提供了两个相关函数,这两个函数有共同也有不同之处,以下是一些个总结:
一,总述
- window 对象允许以指定的时间间隔执行代码,这些时间间隔称为定时事件。
setTimeout(function, milliseconds)
setInterval(function, milliseconds)
setTimeout()
只可执行一次该函数,可以通过放在函数中(递归)持续执行该函数。setInterval()
等同于setTimeout()
,但可以持续重复执行该函数。setTimeout()
和setInterval()
都属于 HTML DOM Window对象的方法。
二,setTimeout()
window.setTimeout(function, milliseconds);
window.setTimeout()
可不带window前缀来编写。- 第一个参数是要执行的函数,第二个参数指示执行之前的毫秒数。
停止执行clearTimeout()
- 停止执行
setTimeout()
中规定的函数。clearTimeout()
使用从setTimeout()
返回的变量:window.clearTimeout(timeoutVariable)
1 | myVar = setTimeout(function, milliseconds); |
示例
1 | //example1: setTimeout()在函数外 |
三,setInterval()
- 在每个给定的时间间隔重复给定的函数。
window.setInterval(function, milliseconds);
- 第一个参数是要执行的函数。
- 第二个参数每个执行之间的时间间隔的长度。
window.setInterval()
方法可以不带window前缀。
示例
1 | //显示当前时间: |
停止执行clearInterval()
- 停止
setInterval()
方法中指定的函数的执行。window.clearInterval(timerVariable)
clearInterval()
方法使用从setInterval()
返回的变量:
1 | myVar = setInterval(function, milliseconds); |
示例
1 | <p id="demo"></p> |