循环不工作时使用JavaScript

循环不工作时使用JavaScript,javascript,while-loop,Javascript,While Loop,当我遇到许多问题时,我正试图制作一个文本冒险游戏。这是意料之中的,因为我对JavaScript以及一般的编码都相当陌生。我遇到的一个问题是,我添加了一些代码,以防止有人不选择某些东西。无论我在提示窗口中输入什么,它都会变得没有响应 以下是我认为应该负责的代码: var weapon = prompt("(prompt text)"); while (weapon != "axe" || weapon != "bow and arrow" || weapon != "rubber chicken"

当我遇到许多问题时,我正试图制作一个文本冒险游戏。这是意料之中的,因为我对JavaScript以及一般的编码都相当陌生。我遇到的一个问题是,我添加了一些代码,以防止有人不选择某些东西。无论我在提示窗口中输入什么,它都会变得没有响应

以下是我认为应该负责的代码:

var weapon = prompt("(prompt text)");
while (weapon != "axe" || weapon != "bow and arrow" || weapon != "rubber chicken"); {
    alert("That's not an option!");
    weapon = prompt("(prompt text)");
}
主要问题是,;最后。它说while循环只有一个语句和;这就是声明。这类似于

while (weapon != "axe" ... weapon != "rubber chicken") {
    ;
}
把它去掉;,你应该没事的

注意:由于您只希望允许这三个值,因此该条件应使用&&运算符

当您使用| |运算符时,如果我将武器输入为橡皮鸡,因为它与斧头不匹配,条件将得到满足,您将一次又一次地问相同的问题。使用&&运算符时,只有当值不等于所比较的所有三个值时,它才是真实的

while (weapon != "axe" ... weapon != "rubber chicken") {
    ;
}
while (weapon != "axe" && ... && weapon != "rubber chicken") {
    ...
}