【问题标题】:JavaScript While-Loop not WorkingJavaScript While循环不起作用
【发布时间】:2015-03-09 04:08:23
【问题描述】:
我在尝试制作文字冒险游戏时遇到了很多问题。这是意料之中的,因为我对 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)");
}
【问题讨论】:
标签:
javascript
while-loop
【解决方案1】:
while (weapon != "axe" ... weapon != "rubber chicken");
主要问题是最后的;。它说while 循环只有一个语句,; 就是那个语句。类似于做
while (weapon != "axe" ... weapon != "rubber chicken") {
;
}
把;去掉就行了。
注意:由于您只想允许这三个值,因此条件应该使用&& 运算符
while (weapon != "axe" && ... && weapon != "rubber chicken") {
...
}
当您使用|| 运算符时,如果我将weapon 输入为rubber chicken,由于它与axe 不匹配,因此将满足条件并且您将一次又一次地问同样的问题。当您使用&& 运算符时,只有当该值不等于您要比较的所有三个值时,它才会为真。