Help with calling function! Please explain!


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

};

#2

Well a function call is just appending () to the function name like you did here:

Math.random();

or here (even with arguments -> values in () )

console.log("Computer: " + computerChoice);

So calling the compare function is in no way different just:

compare();

but as this would only run the function with choice1 and choice2 being undefined it might be better to give some values like:

compare("rock","paper"); // for specific tests
or
compare(userChoice,computerChoice); // probably the expected result

PS: There was a whole lesson on functions right before this one was it really that complicated? Honest questions as your really not the first to ask this?