2013-07-22 87 views
0

我添加了斷點,看起來當我傳遞一個變量時tempTime變得未定義。只有在調用延時器時它才成爲數字。我不知道它爲什麼這樣做,我不知道如何解決它。當我通過函數傳遞參數時,參數顯示爲未定義

Javascript代碼

var executionTime; 
var initialTime = localStorage.getItem("initialTime"); 


if(initialTime == "null") 
{ 

} 
else 
{ 
    var tempDate = new Date().getTime(); 
    executiontime = 30000-(tempDate- parseInt(initialTime, 10)); 
    if (executionTime<0) 
    { 
    executionTime = 0; 
    } 
    showPopUp(executionTime); //executionTime has a number when I call the function      `//butshows up as undefined in the showPopUp function` 
} 





function showPopUp(tempTime){ 
    var initialTime = localStorage.getItem("initialTime"); 
    var executionTime = tempTime; 

    if(initialTime== "null") 
    { 
    executionTime = 20000; 
    } 

    localStorage.setItem("initialTime", (new Date()).getTime()); 
    setTimeout(function() { 
    showAlert(); 
    localStorage.setItem("initialTime", null);}, executionTime); 
} 

    function delayer(){ 
    showPopUp(20000); //not undefined when called 
    } 

    function showAlert(){ 
    alert("Warning"); 
    } 
+0

'executiontime = 30000'我想你的意思是'executionTime' – Ally

回答

1
executiontime = 30000-(tempDate- parseInt(initialTime, 10)); 
showPopUp(executionTime);      

你使用兩種不同的情況 利用你的時間 的JavaScript T是區分大小寫的。

+0

哦哈哈。哇,我怎麼錯過了?我盯着屏幕一個小時。 – kaser