我试着把两个变量加在一起,这两个变量都是有规律地变化的,但是不管它们如何变化,第三个变量是两个变量加在一起的结果,如果这两个变量在开始时没有声明,那么第三个变量要么没有值,要么保持为初始值的和。
我制作了一个小的演示程序来测试它,其中有一些按钮用于调整“prodScore”变量,还有一个按钮用于将“score”值更新为invisScore和prodScore之和。
<p>invisScore:<span id="invisScore"></span></p>
<p>prodScore:<span id="prodScore"></span></p>
<p>invisScore + prodScore:<span id="score"></span></p>
<p><button onclick="addProdScore()">Add 1 Production Score</button></p>
<p><button onclick="minusProdScore()">Minus 1 Production Score</button></p>
<p><button onclick="updateScore()">Update Score</button></p>
<script>
let invisScore = 5
let prodScore = 0
addProdScore = function(){
prodScore += 1
document.getElementById('prodScore').textContent = prodScore;
}
minusProdScore = function(){
prodScore -= 1
document.getElementById('prodScore').textContent = prodScore;
}
updateScore = function(){
document.getElementById('score').textContent = score;
}
var score = invisScore+=prodScore
</script>
每次只得到5,即0值prodScore和5值invisScore的总和。我需要做什么来使总和“score”值是最新的?
1条答案
按热度按时间ruyhziif1#
score
变量在页面加载时设置一次,之后就不再更新。您可以在更新计算它的值时更新它,例如:或者使其计算成为重新显示值时要重新调用的函数:
基本上,不管你怎么看,如果你想更新“分数”,那么你需要用新的值重新计算它。
顺便说一句,我不确定这是否完全符合你的意图:
您是否还在修改
invisScore
?为了清楚起见,您可能希望将这些操作分离到它们自己的代码行中。就目前而言,这一行令人困惑,而困惑的代码会导致bug。