Javascript比较不使用提示、while循环和==
我试图做的是反复提示用户,直到收到一个接受的答案。很简单的事情。然而,while循环让这变得非常奇怪和烦人。以下是我得到的:Javascript比较不使用提示、while循环和==,javascript,loops,while-loop,Javascript,Loops,While Loop,我试图做的是反复提示用户,直到收到一个接受的答案。很简单的事情。然而,while循环让这变得非常奇怪和烦人。以下是我得到的: var plrchoice=prompt("Would you like to choose Bulbasaur, Charmander, or Squirtle? (Use only lowercase characters)"); while(plrchoice!=="bulbasaur"||plrchoice!=="charmander"||plrchoice!==
var plrchoice=prompt("Would you like to choose Bulbasaur, Charmander, or Squirtle? (Use only lowercase characters)");
while(plrchoice!=="bulbasaur"||plrchoice!=="charmander"||plrchoice!=="squirtle"){
plrchoice=prompt("Would you like to choose Bulbasaur, Charmander, or Squirtle?");
}
这在理论上应该是可行的,但不管用户输入什么,结果都是无限的do/while。提前感谢:)那些
|
应该是&&
那些|
应该是&&
如果你像这样重写代码,可能会更清楚发生什么:
var plrchoice = "";
while (!/^(bulbasaur|charmander|squirtle)$/i.test(plrchoice)) {
plrchoice =
prompt("Would you like to choose Bulbasaur, Charmander, or Squirtle?");
}
如果您这样重写代码,可能会更清楚发生什么:
var plrchoice = "";
while (!/^(bulbasaur|charmander|squirtle)$/i.test(plrchoice)) {
plrchoice =
prompt("Would you like to choose Bulbasaur, Charmander, or Squirtle?");
}
不要害怕空白:)它使代码更可读。不要害怕空白:)它使代码更可读。嘿,谢谢,这很管用!但这引出了另一个问题。。。如果&&表示“and”,那不是意味着plrchoice必须等于所有这些字符串吗?显然不是这样,但为什么不是呢?@user2345707不,你在检查他们是不是这是不平等的是正确的,如果你在检查平等性。嘿,谢谢,这奏效了!但这引出了另一个问题。。。如果&&表示“and”,那不是意味着plrchoice必须等于所有这些字符串吗?显然不是这样,但为什么不是呢?@user2345707不,你在检查他们是不是这是不平等的如果要检查相等性,则为正确。