setTimeout && setInterval

/*
*定时器应用函数
*安排函数f()在未来的调用模式
*在等待了若干毫秒之后调用f()
*如果设置了interval并没有设置end参数,则对f()调用将不会停止
*如果没有设置interval和end,只在若干毫秒后调用f()一次
*只有指定了f(),才会从start=0的时刻开始
*注意,调用invoke()不会阻塞,它会立即返回
*@param {函数} f 传递的函数
*@param {num} start 指定函数开始调用的时间
*@param {num} interval 指定函数重复调用的时间
*@param {num} end 指定函数结束的时间
*/
function invoke(f, start, interval, end) {
    if (!start) start = 0;
    if (arguments.length <= 2)
        setTimeout(f, start);
    else {
        setTimeout(repeat,start);
        function repeat() {
            var h = setInterval(f, interval);
            if (end) setTimeout(function() {clearInterval(h);},end);
        }
    }
}
  • setTimeout()实现一个函数在指定的毫秒数之后运行,返回一个值,这个值可以传递给clearTimeout()用于取消这个函数的执行。
  • setInterval()实现一个函数在指定的毫秒数的间隔里重复调用,返回一个值,这个值可以传递给clearInterval()用于取消这个函数的执行。
  • 这两个函数是客户端javascript中的全局函数,window对象的方法。
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!