Javascript: вызов функции внутри другой функции

1

Первая функция содержит вход, а вторая имеет логику /else. Я сначала вызываю вторую функцию внутри, но инструкции if/else, похоже, не работают.

var choice = 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 wins";
        }  
    } 
    else if(choice1 === "scissors"){
        if(choice2 === "rock"){
            return "rock wins";
        } else{
            return "scissors wins";
        }  
    } 
    else{
        return "invalid input";
    }   
};

choice();
  • 0
    Ваша функция compare() возвращает строку, которую вы никоим образом не используете. Если вы хотите, чтобы пользователь увидел результат, попробуйте alert(compare(userChoice, computerChoice)); ,
Теги:

1 ответ

0
Лучший ответ

Это работает хорошо.

compare(userChoice, computerChoice)

возвращает соответствующий результат.

Однако вы не отобразили его. Поэтому отобразите его с помощью alert() и т. Д.:

alert(compare(userChoice, computerChoice));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню