JavaScript定时器:setTimeout()和setInterval()

1 超时调用setTimeout()

顾名思义,超时调用的意思就是在一段实际之后调用(在执行代码之前要等待多少毫秒)

setTimeout()他可以接收两个参数:

1 要执行的代码或函数

2 毫秒(在执行代码之前要等待多少毫秒)

function test(){
    alert("孙悟空");
}
setTimeout(test,2000);  //2s后弹出 “孙悟空”              

clearTimeout()

clearTimeout,表示清除定时器,可以用它取消未执行的调用

var timmer=function test(){
    alert("孙悟空");
}
setTimeout(test,2000);  //2s后弹出 “孙悟空”        
clearTimeout(timmer);       //取消定时器,因为前者在两秒后调用,调用之前已经取消相当于什么也没发生

 

2 间歇调用setInterval()

间歇调用就是指定的时间内不断地重复执行代码,大白话就是“一会调用一次,一会调用一次”

setInterval()它也接收两个参数,与前者相同:

1 要执行的代码或函数

2 毫秒(在执行代码之前要等待多少毫秒)

function test(){
    alert("孙悟空");
}
setInterval(test,2000);  //每隔2s后弹出一次 “孙悟空”      

 

clearInterval()

clearInterval()与clearTimeout()使用方法相同,也是清除定时器方法

var num=0;
var max=10;
function test(){
    num++;
    if (num==max){
        clearInterval(timer);                      //累加到10时清除清定时器
        alert("这里有"+num+"个孙悟空");          //这里有10个孙悟空
    }
}
timer=setInterval(test,500);    

 

在上面的例子中,变量num每隔0.5s递增一次,当递增到最大值时就会清除先前设置的定时器(间歇调用)。

这个模式也可以用超时调用来实现

var num=0;
var max=10;
function test(){
    num++;
    if (num<max){
        setTimeout(test,500);
    }else{
        alert("这里有"+num+"个孙悟空")
    }
}
setTimeout(test,500);

 

posted @ 2017-08-17 21:00  七尚  阅读(495)  评论(0编辑  收藏  举报