2015-04-01 2 views
1

Пытается написать игру ножницы для каменной бумаги, используя codecademy для изучения. Я видел много людей, которые говорили об этой ошибке, и это связано с использованием точки с запятой после оператора if, но я не знаю, полностью ли я что-то потерял или что-то другое. Вот код, это немного странно, чтобы понять (и как минимум для меня), но, надеюсь, вы увидите, что я неНеожиданный токен else, а не выражение с запятой после if

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"; 
     } 
     else { 
      return "scissors wins"; 
     } 
    } 
}; 
} 
+1

Проверьте брекеты. – user2357112

+0

Это не очень полезно в этой ситуации, фигурные скобки меня очень запутывают, так как я очень новичок в Javascript – Axoda

+0

Это еще не сделано, мне нужно добавить еще одно утверждение для этого, это просто кажется бесполезным с меня в минуту – Axoda

ответ

0

Попробуйте удалить } в конце кода (строка 21) и вместо этого разместите его на линии 12.

Исправлен код:

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"; 
     } 
     else { 
      return "scissors wins"; 
     } 
    } 
}; 
+0

О, это сработало, спасибо! скобки действительно начинают возиться со мной со всей идеей типа if-ception, поэтому большое спасибо! – Axoda

+0

В нем говорится, что мне нужно подождать, пока это будет сделано, но сделайте - быстро отпустите, чтобы ответить и исправить :) – Axoda

0

Вы пропустили закрывающую скобку } перед вашим вторым else if заявления, и у вас есть дополнительный один ближе к концу вашего кода.

Исправлен код:

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"; 
     } 
     else { 
      return "scissors wins"; 
     } 
    }  
} 
+0

Да, это то, что мне сказали. спасибо за исправление! Сейчас он работает – Axoda

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