我正在尝试创建一个提示用户"enter yes or no to exit"的JavaScript程序


let q;
while ((q !== "yes")||(q !== "no")) {
q = prompt("yes or no?");
}

我已经尝试过这个,我不明白为什么它不起作用,因为这个:

while (q !== "yes") {
q = prompt("yes or no?");
}

工程。

呃,看来你用了

while ((q !== "yes")||(q !== "no"))

这将始终转换为true因为 q 不能同时是"是"和"否",因此它将始终计算为 true。条件应该是

while ((q !== "yes") && (q !== "no"))

表达式

(q !== "yes")||(q !== "no")

永远是真实的,因为q不可能同时yesno。如果满足任一条件,则该while将是真实的,并且循环将继续。

请改用&&

(q !== "yes") && (q !== "no")

或者,更易读的是,使用.includes

while (!['yes', 'no'].includes(q)) {

let q;
while (!['yes', 'no'].includes(q)) {
q = prompt("yes or no?");
}

最新更新