你能告诉我我的代码有什么问题吗?
while(buttonPressed) {
setInterval(function () {
food = food + farms + (farmers/2);
updateFood();
}, 1000);
}
我的食物价值会根据几个因素(农场,农民)自动增加,更快或不增加。 它在没有循环的情况下运行良好,但由于某种原因,只有在我按下此按钮后才能执行此功能,这是我的问题。
我在控制台上检查过,默认情况下var buttonPressed为false,按下按钮后变为true,所以应该可以:/我需要你的帮助:D
谢谢你们回复:)
答案 0 :(得分:5)
你有一个无限循环(尽可能快地)重复启动函数函数的区间。
听起来你实际上想要在变量发生变化时清除一个间隔。例如:
var myInterval = setInterval(function () {
if (!buttonPressed ) {
clearInterval(myInterval);
return;
}
food = food + farms + (farmers/2);
updateFood();
}, 1000);