2015-01-21 105 views
-2

我在過去幾個月一直在使用codecademy上的javascript。我決定嘗試寫我自己的腳本。它是:意外的令牌else

var miles = prompt("How many miles did you travel?") 
if (miles <= 10){alert (miles * 0.10)}; 
else if (miles > 10){alert (((miles - 10) * 0.25)+1)}; 
else(miles > 20){alert (((miles - 20) * 0.50)+3.50)}; 

javascript控制檯返回「意外的令牌其他」,我不知道什麼是錯的。任何人有任何建議?

回答

0

你的行尾有分號,表示if語句結束。刪除分號,它應該很好

var miles = prompt("How many miles did you travel?"); 
if (miles <= 10){alert (miles * 0.10);} 
else if (miles > 20){alert (((miles - 20) * 0.5)+3.50);} 
else{alert (((miles - 10) * 0.25)+1);}; 

編輯:此代碼是一個熱門的混亂。在> 20應該已經換用> 10和> 10 shouldve被完全刪除是一個簡單的「其他」

要解釋一下:看擴展代碼

if(miles <= 10){ 
    alert(miles * 0.1); 
}else if(...){ 
}else{ 
} 

,當你把那分號,它看起來像

if(miles <= 10){ 
    .. 
}; 
else if(..){ 
... 
}; 
else{ 
} 

「如果」是由分號結束,編譯器不再期待一個「其他」語句,以便在發送之一,它具有不知道該怎麼用它做。

+1

不僅如此,'else'不接受一個條件。 – zerkms 2015-01-21 03:05:15

+0

Oop,甚至沒有抓住!編輯 – Arhowk 2015-01-21 03:06:54

+0

此外,一般的代碼流程問題。固定。 – Arhowk 2015-01-21 03:11:48