Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript 13中的石头、布、剪刀_Javascript - Fatal编程技术网

JavaScript 13中的石头、布、剪刀

JavaScript 13中的石头、布、剪刀,javascript,Javascript,计算机继续警告我 哎呀,再试一次。您的代码返回“rock win!”而不是“未定义”,当输入是剪刀和纸时,即使代码正在工作 var userChoice = prompt("Do you choose rock, paper or scissors?"); var computerChoice = Math.random(); if (computerChoice < 0.34) { computerChoice = "rock"; } else if(computerChoice

计算机继续警告我 哎呀,再试一次。您的代码返回“rock win!”而不是“未定义”,当输入是剪刀和纸时,即使代码正在工作

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){
    choice1=userChoice;
    choice2=computerChoice;
    if (choice1===choice2){
        return"The result is a tie!";
    } else if(choice1==="rock"){
       if (choice2==="scissors"){
           return"rock win!";
       } else {
           return"paper win!!";
       }
    } else if (choice1==="scissors"){
        if(choice2==="rock"){
            return"rock wins!";
        } else {
            return"scissors wins";
        }
    } else {
        if(choice2==="rock"){
            return"paper wins";
        } else {
            return"scissors wins";
        }
    }
};

就我所知,如果正确调用比较函数并实际将userChoice和computerChoice作为参数传递给它,代码就会工作:

var userChoice=prompt您选择石头、布还是剪刀?; var computerChoice=Math.random; 如果计算机选择<0.34{ 计算机选择=岩石;
}否则如果computerChoice它应该是如果computerChoice<0.34{computerChoice=rock;}否则如果computerChoice>=0.34&&computerChoice对不起,我还是个初学者,所以我不知道有什么区别。你能包括完整的代码吗?我看到了返回语句,但没有看到它们所属的函数。在比较函数中,为什么要重写参数choice1和choice2的值?@VickyGonsalves抱歉,我也没有看到问题。else if中的else使在computerChoice>=0.34上进行测试变得不必要。