2017-11-04 111 views
1

第一个函数包含输入,第二个函数包含if/else逻辑。我先调用第二个函数,但if/else语句似乎不起作用。Javascript:调用另一个函数内部的函数

var choice = function(){ 
 

 
    var userChoice = prompt("Do you choose rock, paper or scissors?"); 
 
    var computerChoice = Math.random(); 
 
    if (computerChoice < 0.34) { 
 
    \t computerChoice = "rock"; 
 
    } else if(computerChoice <= 0.67) { 
 
    \t computerChoice = "paper"; 
 
    } else { 
 
    \t 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 wins"; 
 
     } 
 
    } 
 
    else if(choice1 === "scissors"){ 
 
     if(choice2 === "rock"){ 
 
      return "rock wins"; 
 
     } else{ 
 
      return "scissors wins"; 
 
     } 
 
    } 
 
    else{ 
 
     return "invalid input"; 
 
    } 
 
}; 
 

 
choice();

+0

你'比较()'函数返回一个你不以任何方式使用的字符串。如果你想让用户看到结果,请尝试alert(compare(userChoice,computerChoice));'。 – nnnnnn

回答

0

它运作良好。

compare(userChoice, computerChoice) 

返回相应的结果。

但是,您没有显示它。因此,与alert()显示它,等:

alert(compare(userChoice, computerChoice)); 
相关问题