如何使if语句停止重复

How do i make my if statement stop repeating?

本文关键字:语句 何使 if      更新时间:2023-09-26

好的,所以我正在创建一个小程序来猜测用户有多少手指,但只有5个手指是最大手指数。因此,如果用户点击了一个高于5的数字,它应该提示说它没有检查更高的数字,但当它提示时,警报会重复并重复

我该如何阻止它重复?还请为我解释它重复的原因。

https://jsbin.com/hiniqiqobe/1/edit?html,js,输出

//如果你把一个数字放在5以上,它会重复提醒框

原始代码:

      <!DOCTYPE html>
<html>
<head>
<style>
</style>
</head>
<body>

<p>How many fingers are you holding up</p>
<input id="myNumber">
<button id="theGuess">Guess</button>
  <script type="text/javascript">
  document.getElementById("theGuess").onclick=function(){
    var gotit = false;  var guesses = 1;    var x; var outOfControl = 6;
    while(gotit == false){
               x = Math.random();
               x = 6*x;
               x = Math.floor(x);
                if (document.getElementById("myNumber").value==x){

                 gotit=true;
                }else{
                guesses++;
                }
                if (document.getElementById("myNumber").value >= outOfControl){
                    alert("sorry i can only guess up to five");
                }
          }
          alert("i got it "+x+".it only tool me"+guesses+" guesses" );
  }
  </script>
</body>
</html>

document.getElementById("theGuess").onclick = function() {
  var gotit = false;
  var guesses = 1;
  var x;
  var outOfControl = 6;
  while (gotit == false) {
    x = Math.random();
    x = 6 * x;
    x = Math.floor(x);
    if (document.getElementById("myNumber").value == x) {
      gotit = true;
    } else {
      guesses++;
    }
    if (document.getElementById("myNumber").value >= outOfControl) {
      alert("sorry i can only guess up to five");
      return;
    }
  }
  alert("i got it " + x + ".it only tool me" + guesses + " guesses");
}

在抱歉警报后添加"return"

假设循环一直运行到gotit不为真。该脚本显示警报,但不会退出while循环。

实际上发生的是
您声明了gotit = false并且您没有更新gotit的值,这会导致无限循环

你可以阻止@Lucky Chingi的答案

中建议的无限循环