This forum is now read-only. Please use our new forums! Go to forums

banner
Close banner
0 points
Submitted by Henry Vongsavath
over 8 years

8/9 SyntaxError: Unexpected token {

Getting a Syntax error for this challenge. Here’s my code:

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';
        }
    }else if(choice1 === 'paper') {
        if(choice2 === 'rock') {
            return 'paper wins';
        }else {
            return 'scissors wins';
        }
    }else(choice1 === 'scissors') {
        if(choice2 === 'rock') {
            return 'rock wins';
        }else {
            return 'scissors wins';
        }
    }
};//end compare function

compare(userChoice, computerChoice);

The weird thing is if I give the last else an else if it wil pass. I don’t understand. I thought the last else in an if, else if, else statement was just else.

This code below passes. Why???

 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';
        }
//the last else replaced with else if works. Why????? 
    }else if(choice1 === 'paper') {
        if(choice2 === 'rock') {
            return 'paper wins';
        }else {
            return 'scissors wins';
        }
    }else if(choice1 === 'scissors') {
        if(choice2 === 'rock') {
            return 'rock wins';
        }else {
            return 'scissors wins';
        }
    }
};//end compare function

compare(userChoice, computerChoice);

Why does this past but the latter doesn’t?

Answer 55d985c4b62548640b0003b2