【发布时间】:2016-01-25 23:23:40
【问题描述】:
试图只得到一个数字答案。内部 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 + "!");
}
【问题讨论】:
-
你有 两个
while循环。每个只检查一种特定类型的错误。如果有人键入0,则跳过第一个。第二个将报告该错误并要求另一个号码。如果您随后键入“XYZ”,则第二个 while 循环将退出,因为“XYZ”不等于 0。 -
如果 while 循环为假,我如何返回外部 if/else 语句?例如,如果我先输入 0,然后输入 2,我如何让计算机提示“OK!让我们玩最好的”+ numPlays + “!”
-
isNaN检查值是否为NaN(这是一个特殊的 IEEE754 值)。它不是用来检查它是否是一个数字。
标签: javascript loops while-loop