TypeError: compare is not a function


#1

I keep getting this error message. TypeError: compare is not a function

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);

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


#2

@courserockstar74390,
If you define a so-called anonymous Function
using the construct

var theVariable = function(parameter) { };

you can only do a call AFTER the definition in your code !!!!

Have a read
http://stackoverflow.com/questions/336859/var-functionname-function-vs-function-functionname?rq=1


#3

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