扫码关注官方订阅号
如何使用setTimeout来模拟setInterval(包括终止循环定时器的clearInterval)?
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。
arguments
callee
setTimeout
setInterval
var count = 0; var delay = 1000; setTimeout(function() { console.log(count++); setTimeout(arguments.callee, delay); }, delay);
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
在函数内部,有个特殊的对象
arguments,它是一个类数组对象,包含着传入函数中的所有参数。虽然arguments的主要用途是保存函数参数,但这个对象还有一个名叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数。所以你还可以像下面这样使用setTimeout来模拟setInterval。