我想提示用户输入,如果不是有效的选项,则在输入有效输入之前再次提示。

现在,无论输入正确与否,它始终会提示您。

这是代码:

var userChoice = prompt("Do you choose rock, paper, scissors or rope?");
while (userChoice != "rock" || "paper" || "scissors" || "rope") {
    userChoice = prompt("Sorry invalid input, please enter either: rock, paper,scissors, or rope.");
}

似乎应该做的很简单,我误会了while循环的用法吗?也许运算符(operator)错了?
找不到任何有用的东西,感谢您的帮助!

最佳答案

您也可以使用数组和indexOf

var userChoice = prompt("rock, paper, scissors, rope?").toLowerCase();
while (["rock", "paper", "scissors", "rope"].indexOf(userChoice) === -1) {
    userChoice = prompt("Please choose: rock, paper, scissors, rope?").toLowerCase();
}

alert("You chose '" + userChoice + "'");

07-24 20:06