javascript - 如何使用setTimeout来模拟setInterval(包括终止循环定时器的clearInterval)?
巴扎黑
巴扎黑 2017-04-11 13:18:59
0
4
520

如何使用setTimeout来模拟setInterval(包括终止循环定时器的clearInterval)?

巴扎黑
巴扎黑

reply all(4)
Peter_Zhu
function _interval(
// do something
window.setTimeout(_interval, 1000);
)
_interval();
刘奇
var say = function() {
    setTimeout(say, 1000)
    console.log('hello world')
}

setTimeout(say, 1000)
巴扎黑
var a = function() {
    setTimeout(a, 1000)
};
a();
左手右手慢动作

在函数内部,有个特殊的对象 arguments,它是一个类数组对象,包含着传入函数中的所有参数。虽然 arguments 的主要用途是保存函数参数,但这个对象还有一个名叫 callee 的属性,该属性是一个指针,指向拥有这个 arguments 对象的函数。所以你还可以像下面这样使用 setTimeout 来模拟 setInterval

var count = 0;
var delay = 1000;
setTimeout(function() {
    console.log(count++);
    setTimeout(arguments.callee, delay);
}, delay);
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template