leh*_*rmj 34 javascript loops break
当这个变量变成一定量时,我希望循环停止,但我不断收到错误,"Uncaught SyntaxError:Illegal break statement".
function loop() {
if (isPlaying) {
jet1.draw();
drawAllEnemies();
requestAnimFrame(loop);
if (game==1) {
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
Aru*_*hny 53
break是打破一个循环,比如for,while,switch等你没有这里,你需要return用来打破当前函数的执行流程并返回给调用者.
function loop() {
if (isPlaying) {
jet1.draw();
drawAllEnemies();
requestAnimFrame(loop);
if (game == 1) {
return
}
}
}
Run Code Online (Sandbox Code Playgroud)
注意:这不包括if条件背后的逻辑或何时从方法返回,因为我们需要有更多关于drawAllEnemies和requestAnimFrame方法的上下文以及如何game更新值
您需要确保一旦game == 1,requestAnimFrame就不会再被调用。break语句仅退出传统循环(例如while())。
function loop() {
if (isPlaying) {
jet1.draw();
drawAllEnemies();
if (game != 1) {
requestAnimFrame(loop);
}
}
}
Run Code Online (Sandbox Code Playgroud)
或者,您也可以直接跳过第二个if条件,然后将第一个条件更改为if (isPlaying && game !== 1)。您将必须创建一个名为game的变量,并将其值设置为0。每个游戏将其添加1。