2014-01-06 20 views
-1

我的警報不執行,爲什麼!?它不應該在第二次運行後每1000毫秒出現一次?變量在下次調用函數時消失?

function MAINGAMELOOP() { 
    if (!window.GAMESPEED){ 
     var GAMESPEED = 1000; 
    } else { 
     alert("hi"); 
    } 
    setTimeout(MAINGAMELOOP, GAMESPEED); 
} 
+1

你沒有在窗口範圍內設置var。 window.GAMESPEED或在函數之外使用0值來定義它 –

回答

2

而不是GAMESPEED = 1000;你想window.GAMESPEED = 1000;

+0

哦,那個人只是在評論中回答。我應該刪除我的答案嗎? – kmoe

+0

我不這麼認爲,誰說這是不禁「抄襲」別人的評論? – aksu

+1

哦......當然,感謝您的幫助!我一直在坐着,很長一段時間都在撓撓我的頭......謝謝! – user3129452

-1

它的setInterval,而不是setTimeout。 SetTimeout將在指定的延遲後執行一次函數。