2014-02-20 2 views
0

Я делаю Codecademy, чтобы лучше понять JavaScript, и он говорит, что код, который я пишу, ошибочен. Но я не знаю, где это происходит. Отладочное сообщение появляется:JavaScript Else If Statementments

«Отсутствует идентификатор и вместо этого видит« еще », отсутствует ';' перед заявлением «

Эта проблема возникает, поскольку я пишу, может ли кто-нибудь сообщить мне, что именно это сообщение отладки означает, поэтому мне не нужно прибегать к вам специалистам? Ха-ха. В любом случае, вот код:

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"); 
} 
} 
compare(); 
+0

Вам нужно удалить simicolon после ваших критериев * if *: if (choice1 == choice2) {... [code идет здесь] ...} ' –

+0

'return' не является функцией. Не вставляйте скобки в возвращаемые значения. – Ryan

ответ

2

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

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

compare(); 

Я могу только догадываться, что эта функция должна Посмотрите, как

-1

Легко видеть, если вы правильно отступы код:

var compare = function(choice1, choice2) { 
    if (choice1 === choice2); 
    return("The result is a tie!"); 
}; // this ends the function, not the if! 

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

Точка с запятой после условия if также является проблемой .... –

+0

Мне нравится ваше другое, если из ниоткуда – Huangism

+1

@cale_b Да, очевидно, но я не люблю давать готовый к использованию ответ начинающим, так как они ничего не узнают от них. – TimWolla