Need hep with syntax error!


#1


https://www.codecademy.com/courses/javascript-beginner-en-Bthev-mskY8/1/4?curriculum_id=506324b3a7dffd00020bf661


So I've been trying to find the problem but I couldn't
The error I get is this:
SyntaxError: Unexpected token else


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);
function compare(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 if (choice1 = "scissors") {
        if(choice2 = "rock"){
        return "rock wins"
    }
    }
    else {
        return "scissors wins"
};
compare(userChoice,computerChoice)


#2

Because you used else before an else if:


#3

A few things that I see here.

1 - function compare should actually be var compare = function(choice1, choice2). You comparing 2 choices (user input and the computer that is randomly generated.

2- remove the very last semicolon.

3 - it appears there are too many curly brackets. before each else if and else, there should only be 1 curly bracket. You only need one to close out the else if and if statements.

Hopefully that makes sense.


#5

so can I put the else if under the function anwhere
edit: can there be 2 else if's


#6

Yes you can use as many else ifs as you need. Example:

function example() {
  if (...) {
    ...
  }
  else if (...) {
  ...
  }
  else if (..) {
  ...
  }
  // You can have as many else ifs as you need

And no, you can't put the else anywhere. Else is the thing you use when all else fails (Or doesn't evaluate to true).

If you need more help, feel free to reply.


#7

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.