2017-07-10 135 views
0

我在練這個簡單的倒計時功能的控制檯和代碼工作,一旦我完成寫它並回車,但是當我嘗試再次調用它(類型countDown();)時,控制檯給了我這個錯誤消息說未捕獲的類型錯誤...不是一個函數

"Uncaught TypeError: countDown is not a function".

我保存在變量countDown功能,當我打電話的功能,我只是打字countDown();我檢查有沒有輸入錯誤。我做了什麼錯,代碼如下...

var timeLeft = 10; 
var countDown = setInterval(function(){ 
    timeLeft--; 
    console.log(timeLeft); 
    if(timeLeft === 0){ 
    clearInterval(countDown) 
    console.log("count down completed") 
    } 
} ,1000); 
+1

因爲倒計時不是一個功能,在閱讀文檔什麼的[的setInterval]返回值(https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval#Return_value)調用是 –

+0

謝謝,我讀了這個例子,它有所幫助。 – Sen123

回答

0

I save the function in the variable countDown

不,你在該變量保存的setInterval _The結果。

setInterval返回一個計時器ID,不是一個函數。

如果你想保存的函數變量,實際上你需要保存功能的變量。

0

我想你應該申報的setInterval外的功能,我提供了下面的例子,供大家參考:

var timeLeft = 10; 
var countDown = setInterval(timer, 1000); 

function timer() { 
    console.log(timeLeft); 
    if (timeLeft < 1) { 
     console.log('Count down completed'); 
     clearInterval(countDown); 
     return;   
    } 
    timeLeft -= 1; 
} 
+0

感謝您的球員的幫助下,我知道了。 – Sen123

相關問題