JavaScript While-Loop无法正常工作

时间:2015-01-11 05:24:49

标签: javascript while-loop

当我遇到很多问题时,我正试图制作文字冒险游戏。这是预料之中的,因为我对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)");
}

1 个答案:

答案 0 :(得分:4)

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

最主要的问题是;。它说while循环只有一个语句,;就是那个语句。它类似于做

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

只需删除;,就可以了。

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

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

当您使用||运算符时,如果我将weapon输入rubber chicken,由于它与axe不匹配,条件将会得到满足并且您将询问同样的问题一次又一次。当您使用&&运算符时,只有当值不等于您要比较的所有三个值时,它才会真实。