2015-06-10 2 views
0

Хотелось бы знать, почему этот код дает сообщение: SyntaxError: неожиданный токен else.Код академии error (confused) ^^

var compare = function(choice1,choice2){ 
if(choice1===choice2){ 
    return("The result is a tie!"); 
}else if(choice1==="rock"){ 
    if(choice2==="scissors"){ 
     return("rock wins"); 
    }else{ 
     return("paper wins"); 
    }else if(choice1==="paper"){ 
     if(choice2==="rock"){ 
      return("paper wins"); 
     } 
    } 
} 

};

ответ

1

Поскольку else if должен быть перед темelse, как это:

var compare = function(choice1,choice2){ 
if(choice1===choice2){ 
    return("The result is a tie!"); 
}else if(choice1==="rock"){ 
    if(choice2==="scissors"){ 
     return("rock wins"); 
    }else if(choice1==="paper"){ 
     if(choice2==="rock"){ 
      return("paper wins"); 
     } 
    } else{ 
     return("paper wins"); 
    } 
} 
+0

Вы имеете в виду «раньше»? :) – talemyn

1

У вас есть else if после else, так что он сработает.

Это должно быть

if(choice2==="scissors"){ 
    return("rock wins"); 
} else if(choice1==="paper"){ 
    if(choice2==="rock"){ 
     return("paper wins"); 
    } 
} else{ 
    return("paper wins"); 
} 

Если заявления всегда начинаются с if, затем else if s, а затем, наконец, в else. Все, кроме первого if, является необязательным, но порядок всегда должен быть одинаковым.

+0

Спасибо, большая помощь: D –

+0

@DatDanishDude Нет проблем! – TankorSmash

Смежные вопросы