What if Choice 1 is Rock? Undefined 'else'


Help!! I keep getting an undefined else but i have no idea what i'm doing wrong!

/*var userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();
if (computerChoice < 0.34) {
computerChoice = "rock";
} else if(computerChoice <= 0.67) {
computerChoice = "paper";
} else {
computerChoice = "scissors";
} console.log("Computer: " + computerChoice);*/
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";


Do not use semi-colons-; in your IF ELSE-IF statement.
For Javascript the semi-colon-; is an End-of-Statement.

Please read
and concentrate on:

  • the creation of the compare function
  • the truth-table
  • the build of the IF ELSE-IF statement structure as part of the compare FUNCTION-BODY
  • the execution of the compare function (keeping in mind that the return statement is used )


As @leonhard.wettengmx.n already said be careful with your semicolons in conditions here is an explanation:

and a guide to where and where not to place semicolons: