I can't call in my function, what is wrong?


#1

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 if (choice1 = "scissors") {
            if (choice2 === "rock") {
                return "rock wins";
            } else {
                return "scissors wins";
            }
        }
    }
};
console.log("User: " + userChoice);
console.log("Computer: " + computerChoice);
compare(userChoice, computerChoice);

#2

Please remove the second last } above console.log("User: " + userChoice);
console.log("Computer: " + computerChoice);
compare(userChoice, computerChoice);


#3

I tried it but it's not working the thing still say "SyntaxError: Unexpected token else".


#4

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

as you can see here you nested the 3. else if in the 2. one. this results in else if following else which is not allowed and gives you the error.