我试图使用 JavaScript 使用递归 setInterval 函数每 5 秒运行一个函数。
以下代码只是尽快记录“启动”,然后使浏览器崩溃。为什么它不是每 5 秒运行一次?
function five() {
console.log("five");
setInterval(five(), 5000);
}
five();
不要以这种方式使用 setInterval。使用setTimeout。通过调用 setInterval,您可以在每次调用该函数时创建一个唯一的计时器。 SetTimeout 将创建一个结束的计时器,然后创建一个新的计时器。
您还应该更改引用方式five
. five()
立即执行该函数。只是five
传递一个函数引用,因此请按照如下所示进行操作。
function five() {
console.log("five");
setTimeout(five, 5000);
}
five();
当然,您始终可以将函数调用作为要计算的字符串传递:
setTimeout("five()", 5000); // note the quotes
但这通常被认为是不好的做法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)