.innerHTML不在Javascript中更新HTML

.innerHTML不在Javascript中更新HTML,javascript,Javascript,在一个石头剪刀布作业中,全局变量向前递增取决于计算机还是人类获胜。我的函数工作正常,但记分板在使用.innerHTML时不会更新。有什么建议吗 document.getElementById("humanScore").innerHTML = humanTotal; document.getElementById("computerScore").innerHTML = compTotal; 您的函数工作不正常。innerHTML-部分的工作原理与它应该的一样(证明:) 问题是你在游戏逻辑中犯

在一个石头剪刀布作业中,全局变量向前递增取决于计算机还是人类获胜。我的函数工作正常,但记分板在使用.innerHTML时不会更新。有什么建议吗

document.getElementById("humanScore").innerHTML = humanTotal;
document.getElementById("computerScore").innerHTML = compTotal;

您的函数工作不正常。
innerHTML
-部分的工作原理与它应该的一样(证明:)

问题是你在游戏逻辑中犯了一些错误,导致记分板每次都以0-0结束


祝你的作业顺利。

你的函数工作不正常。
innerHTML
-部分的工作原理与它应该的一样(证明:)

问题是你在游戏逻辑中犯了一些错误,导致记分板每次都以0-0结束


祝你作业顺利。

你有几个错误,这不是innerHTML的问题:

1) 更改此选项,然后使用computerChoice检查计算机播放

 var computerChoice = compPlay();
2) 在
compPlay
功能中,更改以下内容:

return compOptions[randomChoice]; // you want the play, not the random number
工作版本:


您有几个错误,这不是innerHTML的问题:

1) 更改此选项,然后使用computerChoice检查计算机播放

 var computerChoice = compPlay();
2) 在
compPlay
功能中,更改以下内容:

return compOptions[randomChoice]; // you want the play, not the random number
工作版本:


您遇到了一些问题

在play函数中,您没有使用
computerChoice
变量执行任何操作,这应该是调用
compPlay()
函数的结果。目前是
var computerChoice=compPlay
,它实际上是将
computerChoice
赋值给函数,而不是函数的结果

其次,在测试if语句时,您再次检查值
compPlay
,这是一个函数,我认为它应该是
computerChoice

第三。
compPlay
的返回值是一个索引,它应该是
compOptions
数组中的索引值

更新代码如下

var humanTotal =0;                                          
var compTotal=0;                                    

document.getElementById("rock").onclick = setRock;
document.getElementById("paper").onclick = setPaper;
document.getElementById("scissors").onclick = setScissors;

function setRock(){
    play("rock")
}

function setPaper(){
    play("paper")
}

function setScissors(){
    play("scissors")
}    

function play(humanChoice) {    
    var computerChoice = compPlay(); //<-- Change Here

    //And all the following if statements to check the computer choice
    if (humanChoice == "rock"){
        if (computerChoice  =="rock"){
        } else if (computerChoice =="scissors"){
            humanTotal++; 
        } else if (computerChoice =="paper"){
            compTotal++;
        }
    }

    if (humanChoice == "paper"){
        if (computerChoice  =="paper"){
        } else if (computerChoice =="rock"){
            humanTotal++; 
        } else if (computerChoice =="scissors"){
        compTotal++;
        }
    }

    if (humanChoice == "scissors"){
        if (computerChoice  =="scissors"){
        } else if (computerChoice =="paper"){
            humanTotal++; 
        } else if (computerChoice =="rock"){
            compTotal++;
        }
    }

    document.getElementById("humanScore").innerHTML = humanTotal;
    document.getElementById("computerScore").innerHTML = compTotal;

}   


function compPlay (){
    var compOptions = ['rock', 'paper', 'scissors'];    
    var randomChoice = Math.floor(Math.random()*compOptions.length);
    return compOptions[randomChoice]; //<-- Change Here

}
var-humanTotal=0;
var compTotal=0;
document.getElementById(“rock”).onclick=setRock;
document.getElementById(“paper”).onclick=setPaper;
document.getElementById(“剪刀”).onclick=setCissors;
函数setRock(){
玩(“摇滚”)
}
函数设置文件(){
播放(“文件”)
}
函数setScissors(){
玩(“剪刀”)
}    
功能播放(人形选择){

var computerChoice=compPlay();//您遇到了一些问题

在play函数中,您没有使用
computerChoice
变量执行任何操作,它应该是对
compPlay()
的函数调用的结果。目前它是
var computerChoice=compPlay
,实际上是将
computerChoice
赋值给函数,而不是函数的结果

其次,在测试if语句时,您再次检查值
compPlay
,这是一个函数,我认为它应该是
computerChoice

第三,
compPlay
的返回值是一个索引,它应该是
compOptions
数组中的索引值

更新代码如下

var humanTotal =0;                                          
var compTotal=0;                                    

document.getElementById("rock").onclick = setRock;
document.getElementById("paper").onclick = setPaper;
document.getElementById("scissors").onclick = setScissors;

function setRock(){
    play("rock")
}

function setPaper(){
    play("paper")
}

function setScissors(){
    play("scissors")
}    

function play(humanChoice) {    
    var computerChoice = compPlay(); //<-- Change Here

    //And all the following if statements to check the computer choice
    if (humanChoice == "rock"){
        if (computerChoice  =="rock"){
        } else if (computerChoice =="scissors"){
            humanTotal++; 
        } else if (computerChoice =="paper"){
            compTotal++;
        }
    }

    if (humanChoice == "paper"){
        if (computerChoice  =="paper"){
        } else if (computerChoice =="rock"){
            humanTotal++; 
        } else if (computerChoice =="scissors"){
        compTotal++;
        }
    }

    if (humanChoice == "scissors"){
        if (computerChoice  =="scissors"){
        } else if (computerChoice =="paper"){
            humanTotal++; 
        } else if (computerChoice =="rock"){
            compTotal++;
        }
    }

    document.getElementById("humanScore").innerHTML = humanTotal;
    document.getElementById("computerScore").innerHTML = compTotal;

}   


function compPlay (){
    var compOptions = ['rock', 'paper', 'scissors'];    
    var randomChoice = Math.floor(Math.random()*compOptions.length);
    return compOptions[randomChoice]; //<-- Change Here

}
var-humanTotal=0;
var compTotal=0;
document.getElementById(“rock”).onclick=setRock;
document.getElementById(“paper”).onclick=setPaper;
document.getElementById(“剪刀”).onclick=setCissors;
函数setRock(){
玩(“摇滚”)
}
函数设置文件(){
播放(“文件”)
}
函数setScissors(){
玩(“剪刀”)
}    
功能播放(人形选择){
var computerChoice=compPlay()//