我想立即运行我的函数(没有超时),所以我这样做:
setInterval(function(){
alert("Boo");
}(), 1000);
该函数第一次执行,但在接下来的时间间隔中,没有任何反应。为什么?
更好的问题是,您实际上想要实现什么目标?
你不return
自调用函数中的任何内容,因此它将返回undefined
隐式值,该值被传递给setTimeout
。初次调用后,该行看起来像
setInterval(undefined, 1000);
显然,这没有任何意义,并且不会继续调用任何内容。
你要么需要return
自调用函数中的另一个函数,或者只是不使用自调用函数而只是传递函数引用。
Update:
您更新了您的问题。如果你想在 init 上运行一个函数“一次”,然后在时间间隔内使用它,你可以这样做
setInterval((function() {
function loop() {
alert('Boo');
};
loop();
return loop;
}()), 1000);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)