2014-10-12 40 views
0

A setInterval运行一个匿名函数。我可以检索在间隔中运行的功能吗?

鉴于区间ID,我可以检索功能体?

对于那些好奇的人,我直接在浏览器控制台中编写了一个半复杂的函数,并开始了一个时间间隔。我失去了控制台的历史记录,因为我关闭了Firefox检查器,并且想自己省去重写该功能的工作。按“向上”,不再返回以前的条目。

+0

您可以显示功能的代码,以及如何你在做什么?你想达到什么目的?了解StackOverFlowers以最佳方式回答它非常重要。 – Meer 2014-10-12 10:24:57

+0

您可以将该功能放在.js文件中,然后从控制台调用它。 lool at this post - > http://stackoverflow.com/questions/9054870/calling-a-javascript-function-from-console – Meer 2014-10-12 10:27:28

+0

或试试这个 - > function foo(){ return“bar” } console.log(foo()); – Meer 2014-10-12 10:28:18

回答

0

看到这一切的历史保存在萤火

enter image description here

+0

这很酷,但实际上并没有回答这个问题,这是关于JavaScript的间隔,而不是萤火虫,它是历史。 :) – Letharion 2014-10-12 13:21:44

1

不,你不能检索从计时器ID的功能。

如果你想经常做这样的事情,然后重新setInterval捕捉功能:

(function() { 
    var oldSetInterval = setInterval;  // remember the original setInterval 

    setInterval = function(fn, msec) {  // redefine setInterval 
     var id = oldSetInterval(fn, msec); // call the real one 
     setInterval.fns[id] = fn;   // remember the fn in an array 
     return id; 
    }; 

    setInterval.fns = [];     // array attached to our setInterval 
              // remembers functions by timer ID 
}()); 

使用本作中:

var myId = setInterval(function() { alarm(); }, 300000); 
alert(setInterval.fns[myId])); // "function() { alarm(); }" 
相关问题