有时我很难理解JavaScript背后的逻辑,这是我经常看到的一个例子。这是一个简单的函数,将传递给计时器:
function myCounter() {
//do something...
}
你可以像这样传递它:
setInterval(myCounter, 1000)
;
但是,通常我们需要有手段来阻止它,所以我们将它分配给变量:
var t = setInterval(myCounter, 1000);
这允许它像以后一样被清除:
clearInterval(t);
我一直都在使用它,但令我困扰的是,我并不完全理解我在变量中的含义,以及为什么typeof t
会返回一个数字。究竟我投入了什么?任何人都可以解释这背后的逻辑吗?
答案 0 :(得分:0)
为变量分配间隔时,实际上是在分配ID。当您使用clearInterval
选择要清除的计时器时,将使用该ID。 typeof返回数字的原因是因为ID是一个数字。
Here is a detailed explanation.
MDN对于这类事情来说是一个很棒的资源,我强烈推荐它