我的警報不執行,爲什麼!?它不應該在第二次運行後每1000毫秒出現一次?變量在下次調用函數時消失?
function MAINGAMELOOP() {
if (!window.GAMESPEED){
var GAMESPEED = 1000;
} else {
alert("hi");
}
setTimeout(MAINGAMELOOP, GAMESPEED);
}
我的警報不執行,爲什麼!?它不應該在第二次運行後每1000毫秒出現一次?變量在下次調用函數時消失?
function MAINGAMELOOP() {
if (!window.GAMESPEED){
var GAMESPEED = 1000;
} else {
alert("hi");
}
setTimeout(MAINGAMELOOP, GAMESPEED);
}
而不是GAMESPEED = 1000;
你想window.GAMESPEED = 1000;
。
哦,那個人只是在評論中回答。我應該刪除我的答案嗎? – kmoe
我不這麼認爲,誰說這是不禁「抄襲」別人的評論? – aksu
哦......當然,感謝您的幫助!我一直在坐着,很長一段時間都在撓撓我的頭......謝謝! – user3129452
它的setInterval,而不是setTimeout。 SetTimeout將在指定的延遲後執行一次函數。
你沒有在窗口範圍內設置var。 window.GAMESPEED或在函數之外使用0值來定義它 –