Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 奇怪的随机值作为默认的间隔处理程序参数_Javascript_Firefox_Setinterval - Fatal编程技术网

Javascript 奇怪的随机值作为默认的间隔处理程序参数

Javascript 奇怪的随机值作为默认的间隔处理程序参数,javascript,firefox,setinterval,Javascript,Firefox,Setinterval,刚刚遇到这个。这实际上并没有影响任何事情,但我想知道为什么会发生这种情况 如果我在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

刚刚遇到这个。这实际上并没有影响任何事情,但我想知道为什么会发生这种情况

如果我在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选择传递这个随机数呢

我本以为是未定义的或类似的东西

干杯


p、 这似乎取决于Firefox的CPU使用情况

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


编辑:。它是调用回调的延迟毫秒数。

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

窗口也是如此。setTimeout

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

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

你误解了他的问题。他不是问
setInterval
返回什么;他在问回叫的是什么。是的,我的错,刚刚意识到这一点。这很奇怪。这是一个错误的答案,但可能有人也不知道,所以做得好。有道理。似乎总是作为一个附加参数添加。因此,如果传递了两个参数,则该值是第三个。是的,我刚刚在该页面上。顺便说一下,您可以更简单地这样测试:
setInterval(console.log,500)
var timeID = window.setTimeout( function(){ alert("I'm annoying!"); }, 10000 );

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