我即将创建一个简单的游戏,但游戏循环尚未开始。如果我调用end_game函数并继续打印'a',while循环不会中断。我真的无法弄清楚它有什么问题。谢谢你们。
var game_status = true;
var end_game = function end_game(){
game_status = false;
return game_status;
};
var game_loop = function game_loop(game_status, end_game){
while(game_status == true){
console.log('a');
end_game();
}
};
function call_gameloop(){
game_loop(game_status,end_game);
};
<div id = 'play_field' onclick='call_gameloop();'></div>
答案 0 :(得分:1)
game_status
函数中的 game_loop()
变量是函数的局部变量,与全局声明的变量不同。
end_game()
函数修改全局变量,因此不会破坏上述循环。
为了使工作顺利进行,请不要将game_status
参数传递给game_loop()
函数,就像您没有传递给end_game()
函数一样。