2015-01-21 73 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