JS是单线程语言,但允许通过设置超时值(在指定的时间过后执行代码)和间歇时间值(每隔指定的时间就执行一次代码)来调度代码在特定的时刻执行。
一、超时调用
使用方法
window对象的setTimeout()方法
参数:“要执行的代码”,以毫秒表示的时间
注释:”要执行的代码“可以是一个包含JS代码的字符串,也可以是一个函数
【示例】
<script type="text/javascript">
setTimeout(win(), 2000);//win
function win() {
alert(win.name);
}
</script>
超时调用需要注意的点
也许过了规定时间后,相应的代码并没有立即执行(但一定会执行),是因为JS是单线程语言,而此时正好在执行其他代码,因此需要排队。
调用setTimeout()方法后,该方法会返回一个ID值,该ID是计划执行代码的唯一标识符,因此可以取消超时调用。
也许过了规定时间后,相应的代码并没有立即执行(但一定会执行),是因为JS是单线程语言,而此时正好在执行其他代码,因此需要排队。
调用setTimeout()方法后,该方法会返回一个ID值,该ID是计划执行代码的唯一标识符,因此可以取消超时调用。
二、取消超时调用计划
方法:clearTimeout()
参数:ID值
三、间歇调用
作用
按照指定的时间重复执行代码,直至间歇调用被取消或者页面被卸载
方法
setInterval()
参数:“要执行的代码”,以毫秒表示的时间
四、取消间歇调用方法
方法:clearInterval()
参数:ID值