2016-08-04 75 views
-1

我有一個稱爲userInput的函數,檢查秒是否等於x,然後它給用戶一個警報,然後重置時間。 userInput不檢查秒是否等於x。我應該使用for循環嗎?這裏是我的代碼:我的userInput不檢查是否秒= 0

var userInput = function(x) { 
    if (seconds == x) { 
    var done = alert("You're done!"); 
    h1.textContent = "00:00:00" 
    seconds = 0; minutes = 0; hours = 0; 
    } 
} 
    userInput(x); 

只是你知道這一點,秒,分鐘和小時已經被聲明爲變量。

任何幫助表示讚賞,謝謝。

+1

請參閱[*如何創建最小,完整和可驗證的示例*](http://stackoverflow.com/help/mcve)。您可以在此發佈可運行代碼段以顯示該問題。 – RobG

+0

'seconds'從哪裏來?而且,你的函數需要一個名爲'x'的參數,但是當你調用'userInput'時,你正在傳遞'x'。該函數中的'x'是函數外的''x' [shadowing](http://stackoverflow.com/questions/11901427/an-example-of-variable-shadowing-in-javascript)。 – kevin628

+0

上一個問題已被刪除:http://stackoverflow.com/questions/38778172/my-userinput-function-does-not-work。它包含了其餘的代碼和所有的上下文。 – Xufox

回答

-1

我在代碼中掩蓋了x。感謝您在評論中的幫助

+0

這是爲什麼呢?您將'x'傳遞給該函數,因此它將獲得與外部'x'相同的值。 – Barmar

+0

一個問題的好答案應該解釋並展示如何解決這個問題。這個答案對於有類似問題的未來讀者沒有用。 – Barmar