2016-02-12 52 views
0

有時我很難理解JavaScript背後的邏輯,這是我經常看到的一個例子。下面是一個簡單的函數,將被傳遞到計時器:將帶參數的方法放入變量中,在JavaScript中

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

你可以只是通過像這樣:

setInterval(myCounter, 1000);

但是,往往我們需要有辦法來阻止它,所以我們把它分配給一個變量:

var t = setInterval(myCounter, 1000); 

這使得它以後像這樣被清除:

clearInterval(t); 

我用這一直在困擾着我,但我不明白我在變量中的確切含義,以及爲什麼typeof t返回一個數字。我究竟輸入了什麼?任何人都可以解釋這背後的邏輯嗎?

回答

0

將間隔分配給變量時,實際上是分配一個ID。當您使用clearInterval來選擇要清除的計時器時,會使用該ID。 typeof返回一個數字的原因是因爲ID是一個數字。

Here is a detailed explanation.

MDN是這樣的事情一個夢幻般的資源,我強烈推薦它

+0

因此,它是那麼簡單。謝謝! – Jason210

+0

經常是!只要你好奇,就使用MDN。如果可以的話,接受答案,以幫助他人。 –

相關問題