2014-07-11 35 views
-2

爲什麼我不斷收到錯誤,意外的其他令牌?爲什麼我不能在這裏使用javascript語句?

var PRIZES = ["a new car", "a broken stapler", "a refrigerator"]; 
var door = prompt("Choose a door number (1,2,or3)"); 
var prize = PRIZES[door - 1]; 

if (prize <= 3 && prize >= 1);{ 
    alert("you have won " + prize.toUpperCase() + "!!"); 
} 
else (door === undefined); { alert("not a door"); } 
+1

您正在尋找'else if'。 –

+0

作爲一個「noob」沒有理由不搜索如何使用其他的JavaScript –

回答

1

因爲您正在使用else的條件。如果if條件未得到滿足,則else意味着全部捕獲。

var PRIZES = ["a new car", "a broken stapler", "a refrigerator"]; 
var door = prompt("Choose a door number (1,2,or3)"); 
var prize = PRIZES[door - 1]; 
if (prize <= 3 && prize >= 1);{ 
    alert("you have won " + prize.toUpperCase() + "!!"); 
} 
else if (door === undefined) { 
    alert("not a door"); 
} 
3

不要把分號後的if和else語句:對於else if您的使用需求。只在陳述結束時使用它們。此外,您需要使用else if而不是else以檢查另一個條件表達式。您還需要檢查door - 不是的prize -is <= 3>= 1像這樣:

var PRIZES = ["a new car", "a broken stapler", "a refrigerator"]; 
var door = prompt("Choose a door number (1,2,or3)"); 
var prize = PRIZES[door - 1]; 

if (door <= 3 && door >= 1) 
{ 
    alert("you have won " + prize.toUpperCase() + "!!"); 
} 
else if (door === undefined) 
{ 
    alert("not a door"); 
} 

順便說一句,它看起來像你應該擺脫else if (door === undefined),並用只是一個else取代它。我也建議將door解析爲一個整數。

0

我覺得我們應該把它變成簡單來說是這樣

if() { 

} else { 

} 

if() { 

} else if() { 

} else if() { 

} else() { 

} 

心不是半冒號;後(),其實你可以最有可能直接跳過JavaScript中所有的分號,因爲它會自動添加,我normaly只放一個就在這樣的

;(function(){})() 

另外一個js文件的開頭您需要的時間是在一個循環中,

for (; i < len; i++) {} 
相關問題