在JavaScript中将带参数的方法放入变量中

时间:2016-02-12 12:33:30

标签: setinterval clearinterval

有时我很难理解JavaScript背后的逻辑,这是我经常看到的一个例子。这是一个简单的函数,将传递给计时器:

function myCounter() {
   //do something...
}

你可以像这样传递它:

setInterval(myCounter, 1000);

但是,通常我们需要有手段来阻止它,所以我们将它分配给变量:

var t = setInterval(myCounter, 1000);

这允许它像以后一样被清除:

clearInterval(t);

我一直都在使用它,但令我困扰的是,我并不完全理解我在变量中的含义,以及为什么typeof t会返回一个数字。究竟我投入了什么?任何人都可以解释这背后的逻辑吗?

1 个答案:

答案 0 :(得分:0)

为变量分配间隔时,实际上是在分配ID。当您使用clearInterval选择要清除的计时器时,将使用该ID。 typeof返回数字的原因是因为ID是一个数字。

Here is a detailed explanation.

MDN对于这类事情来说是一个很棒的资源,我强烈推荐它