如何将setInterval()的ID传递给匿名函数

时间:2015-08-10 19:46:11

标签: javascript function setinterval anonymous

我希望将setInterval()的处理程序传递给内部函数。

例如:

var id = setInterval(myfunction, "100000");

我希望将id传递给myfunction

我试过

setInterval(myfunciton(e), "10000");

但它没有传递变量。

有什么想法吗?

2 个答案:

答案 0 :(得分:7)

当你调用setInterval时,id不存在,但是在调用回调时它确实存在。

您需要将调用包装在使用调用中的id的函数中:

var id = setInterval(function(){
  myfunction(id);
}, 10000);

答案 1 :(得分:1)

如果在变量中将变量包含在传入setInterval中,则回调会立即用该参数执行。

您需要做的是创建一个闭包:

setInterval(function() {
  myFunction(e);
}, 10000);

此外,间隔应该是整数,而不是字符串。