我的警报不执行,为什么!?它不应该在第二次运行后每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值来定义它 –