计时器
2018-09-25 本文已影响0人
IthinkIcanfly
setTimeout()和setInterval()
setTimeout()返回一个值,这个值可以传递给clearTimeout()用于取消这个函数的执行。
setInterval()在指定的毫秒数里重复调用,也会返回一个值,这个值可以传递给clearInterval()取消这个函数的执行
setInterval(updateClock,600000);
/*
如果设置了interval并没有设置end参数,则对f()调用将不会停止
如果没有设置interval和end,只在若干毫秒后调用f()一次
只有指定了f(),才会从start=0时刻开始计算
*/
function invoke(f,start,interval,end){
if(!start) start=0;//默认设置0毫秒
if(arguments.length<=2){//单次调用
setTimeout(f,start);//若干毫秒后第一次调用
}else{
setTimeout(repeat,start);//若干毫秒后调用repeat
function repeat(){
var h = setInterval(f,interval);//循环用interval
if(end) {//停止
setTimeout(function(){ clearInterval(h); },end)
}
}
}
}