计时器

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)
      }
    }
  }
    
}
上一篇下一篇

猜你喜欢

热点阅读