JavaScript While 循环不工作

JavaScript While-Loop not Working

我在尝试做一个文字冒险游戏的时候遇到了很多问题。这是预料之中的,因为我对 JavaScript 以及一般的编码相当陌生。我遇到的问题之一是我添加了一些代码以防止有人不选择某些东西的可能性。无论我输入什么提示 window,它都变得没有响应。

这是我认为负责的代码:

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 (weapon != "axe" ... weapon != "rubber chicken");

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

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

只需删除 ;,你应该没问题。

注意: 因为您只想允许这三个值,所以条件应该是 && 运算符

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

当你使用 || 运算符时,如果我将 weapon 输入为 rubber chicken,因为它不匹配 axe 条件将被满足,你将一次又一次地问同样的问题。当您使用 && 运算符时,只有当该值不等于您正在比较的所有三个值时,它才会为真。