JavaScript中的setInterval()行为,0毫秒

Joã*_*mes 20 javascript setinterval

在我的应用程序中,我发现了一些使用setInterval0毫秒的JavaScript代码,如下所示:

self.setInterval("myFunction()",0);
Run Code Online (Sandbox Code Playgroud)

显然,这对我来说似乎不是一个好主意.谁能告诉我setInterval这里的行为会是什么?("myFunction"对服务器进行AJAX调用)

我问这个是因为我的申请表现不正常.90%的情况下,应用程序运行正常,并且只对服务器进行一次调用.但有时会对服务器进行多次调用(到目前为止,最多只有48次调用),我几乎可以肯定这是这行代码的错误.

dea*_*nix 23

浏览器为间隔设置最小值.通常10毫秒,但它可以取决于浏览器.这意味着尽可能快地重复这个.W3C规范说4ms:http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#timers

这是正确的,但可能揭示了设计错误.

编辑:顺便说一句,将字符串传递给setTimeout/setInterval是不好的做法,而是传递函数,因为javascript具有第一类函数.