InnerHTML未在JavaScript中更新

InnerHTML未在JavaScript中更新,javascript,html,Javascript,Html,当我按下按钮时,我的innerHTML没有更新显示有问题。我使用的是console.log,我可以看到这些值实际上是第一次更新的,但页面不是。在下图中,我按了一次开始按钮和两次更高的按钮,您可以看到日志中的值发生了变化。这一效果发生在两个按钮上,它将更新值一次,然后在后续单击时不再更新。此外,该网页根本不更新。该程序的目标是制作一个游戏,在这个游戏中,计算机可以在一定范围内猜出你想的数字,你可以选择较高、较低或正确的数字。我是新来的,所以请让我知道,如果有任何方法,我可以改善我的职位在未来 代

当我按下按钮时,我的innerHTML没有更新显示有问题。我使用的是console.log,我可以看到这些值实际上是第一次更新的,但页面不是。在下图中,我按了一次开始按钮和两次更高的按钮,您可以看到日志中的值发生了变化。这一效果发生在两个按钮上,它将更新值一次,然后在后续单击时不再更新。此外,该网页根本不更新。该程序的目标是制作一个游戏,在这个游戏中,计算机可以在一定范围内猜出你想的数字,你可以选择较高、较低或正确的数字。我是新来的,所以请让我知道,如果有任何方法,我可以改善我的职位在未来

代码如下:

var guess=0;//剩余猜测数
var currentGuess=0;
函数runGame(){
//从HTML格式的输入字段中获取变量并转换为整数
var low=parseInt(document.getElementById('lowNum').value);
var high=parseInt(document.getElementById('highNum').value);
//检查游戏是否获胜的布尔值
if(document.getElementById('compGuess').value!=''){
guess=parseInt(document.getElementById('compGuess').value);
}否则{
警告(“你必须让计算机至少猜一次!”);
}
//输入验证

如果(low0&&high 0&&guess函数中的变量
currentGuess
是该函数的局部变量,因为函数参数始终是局部变量。因此当它更新此变量时,它不会影响
setElementValues()的全局变量
放入
.innerHTML

无论是通过参数传递信息还是使用全局变量,您都需要保持一致。如果您将当前猜测作为参数传递,它应该返回更新的值,并且调用方可以分配全局变量,例如

onclick="currentGuess = processGuess('high', currentGuess);"
或者,您可以坚持使用全局变量,这样就不需要将其作为参数传递。然后,它将是:

onclick="processGuess('high')"
下面是使用后一种方法的代码

var guess=0;//剩余猜测次数
var currentGuess=0;
函数runGame(){
//从HTML格式的输入字段中获取变量并转换为整数
var low=parseInt(document.getElementById('lowNum').value);
var high=parseInt(document.getElementById('highNum').value);
//检查游戏是否获胜的布尔值
if(document.getElementById('compGuess').value!=''){
guess=parseInt(document.getElementById('compGuess').value);
}否则{
警告(“你必须让计算机至少猜一次!”);
}
//输入验证

如果(low0&&high 0&&guess)现在可以很好地工作了。谢谢!