3

刚遇到这个。它并没有真正影响任何事情,但我想知道为什么会这样。

如果我在 firefox 中运行以下代码并打开 firebug:

setInterval(function(param) 
     {
        console.log("param is %o",param)
     },500);

param 似乎被分配了一个模糊的随机值:

   param is -2
    param is -1
    param is -2
    param is 1
    param is -1
    param is 6
    param is -1
    param is 0
    param is -2
    param is 2
    param is 0
    param is 2
    param is 0
    param is 0
    param is 0
[..]
    param is 0
    param is 0
    param is 0
    param is 0
    param is 0
    param is 0
    param is 0
    param is 911
    param is 0
    param is 0
    param is 0
    param is -1

我很感激我没有将任何参数传递给 setInterval 以传递给函数,但为什么 javascript 选择传递这个随机数?

我本来期望未定义或类似的东西...

干杯

ps 其他浏览器未测试

4

2 回答 2

3

它似乎取决于 Firefox 的 CPU 使用率。

我猜这是应该调用回调的延迟。

编辑我是对的。这是回调被调用的延迟毫秒数。

于 2010-01-21T02:56:37.277 回答
0

它是由 自动设置的间隔 ID window.setInterval。如果您存储结果,您可以稍后清除间隔(停止它)

var intID = window.setInterval( function(){ alert("I'm annoying!"); }, 10000 );

// this will kill it before it annoys you, :D
window.clearInterval( intID );

这也是这种情况window.setTimeout

var timeID = window.setTimeout( function(){ alert("I'm annoying!"); }, 10000 );

// this will kill it before it annoys you, :D
window.clearTimeout( timeID );
于 2010-01-21T02:56:57.717 回答