JavaScript while-loop不起作用

JavaScript While-Loop not Working

本文关键字:不起作用 while-loop JavaScript      更新时间:2023-09-26

当我遇到很多问题时,我正在尝试制作文本冒险游戏。这是意料之中的,因为我对 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 (weapon != "axe" ... weapon != "rubber chicken");

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

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

只需删除该;,您应该没事。

注意:由于您只想允许这三个值,因此条件应与&&运算符一起使用

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

当您使用运算符||,如果我输入weapon作为rubber chicken,因为它不匹配axe条件将得到满足,您将一次又一次地提出相同的问题。当您使用运算符&&时,仅当该值不等于您要比较的所有三个值时,它才是真实的。