javascript - while 循环退出而不是返回循环 -Javascript

标签 javascript loops while-loop

试图只得到一个数字答案。内部 while 循环退出而不是返回到循环中。我不知道为什么。

var numPlays = prompt("How many games do you want to play?");
if (isNaN(numPlays) == true) {
    while (isNaN(numPlays) == true) {
        numPlays = prompt("That's not a number. Please pick a number.");
    }
} else if (numPlays == 0) {
    while (numPlays == 0) {
        numPlays = prompt("You have to at least play one game. Please pick a number.");
    }
} else if (numPlays == 1) {
    alert("OK! Let's play " + numPlays + " game!");
} else {
    alert("OK! Let's play best of " + numPlays + "!");
}

最佳答案

无需进入循环。

一个简单的例子

// Wrap in a function so we can start over
function start() {
  var numPlays = prompt("How many games do you want to play?");
  // edited this to check for 0
  if (isNaN(numPlays) || numPlays == 0) {
    alert('Nope, bad answer, try again!');
    return start();
  } else if (numPlays == 1) {
    alert('Ok, lets play 1 game!');
  } else {
    alert('Ok, lets play the best of ' + numPlays + 'games!');
    // A little aside
    // var neededToWin = (Math.floor((numPlays / 2)) + 1);
    // alert('Ok, you need to win ' + neededToWin + ' out of ' + numPlays + ' games to beat me!');
  }
}

从技术上讲,您希望从“一半的游戏+ 1”中获得最好的结果。 因此,要获胜,您需要赢得 7/12 场比赛。你可以通过除以得到这个

关于javascript - while 循环退出而不是返回循环 -Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35004371/

相关文章:

c - 编写一个 “query-controlled” 循环,将继续从用户输入 int 值?

Java程序根据字符串比较不退出

python - Python 中的 While 循环失败

c - 变量周围的运行时检查失败堆栈已损坏

javascript - 如何使 redux-observable 在 ajax 请求之前和之后发送多个操作?

javascript - 通过子数组的聚合和排序来展平多维数组

javascript - 在 d3 中垂直居中堆叠条

javascript - jQuery 内部错误 : Uncaught TypeError: Cannot read property 'toLowerCase' of undefined

javascript - 如何使用 JQuery 循环 "ul"子级?

c - 为什么我的 if 语句从未被评估过?