2015-01-11 128 views
2

當我遇到很多問題時,我正在嘗試製作文本冒險遊戲。這是預料之中的,因爲我對JavaScript以及編碼都相當陌生。我遇到的其中一個問題是我添加了一些代碼來防止某人不選擇某種東西的可能性。無論我給出提示窗口的什麼輸入,它都變得沒有反應。JavaScript While-Loop無法正常工作

這裏的,我認爲是負責代碼:

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)"); 
} 

回答

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

的主要問題是;末。它說while循環只有一個聲明,;就是這個聲明。它類似於做

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

只要刪除那;,你應該沒問題。

注:既然你想只允許這三個值,病情應該已經與&&操作

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

當您使用||運營商,如果我輸入weaponrubber chicken,因爲它不不符合axe的條件將得到滿足,你會一次又一次地提出同樣的問題。當您使用&&運算符時,只有在該值不等於所比較的所有三個值時纔會顯示爲真。

+3

它也必須是'&&' – zerkms