我不明白为什么,但我的循环将无法完成。我应该使用JavaScript做一个猜谜游戏,但循环不会实际循环。它只需要一个答案,显示适当的窗口并停下来。不管答案如何。下面是代码:while循环嵌套if语句不会循环javascript
<!DOCTYPE >
<html>
<head>
<title>Welcome To The JS Guessing Game</title>
</head>
<script>
//Initialize the variables that will be needed.
var target;
var target_index;
var guess_input;
var guesses=0;
var finished=false;
var guesses=0;
var colors = ["blue", "cyan", "gold", "green", "magenta", "orange", "red", "white", "yellow"];
function do_game() {
var random_number = (Math.random()*colors.length);
var random_number=Math.floor(random_number);
target=colors[random_number];
alert(target);
while (!finished){
guess_input=prompt("I am thinking of a color in the list below. Can you guess which color?"+"\n\n"+ colors.join());
guesses++;
if (guess_input!=target){
alert("no")
return true;
}
alert("yes!!")
return false;
}
}
</script>
<body onload="do_game()">
</body>
</html>
现在我真不明白我在做什么错误,并在控制台标志了没有错误在任何浏览器:/ 我会很感激的帮助!
干杯,
大卫
设置'finished'到TRUE;在循环... – tymeJV
的'返回TRUE;退出功能,因而不会继续循环。你可以用'continue'或者'else'结构替换它。使用返回使完成的变量过时,所以你可以只使用while(true) –