Javascript,分数被追加而不是添加到分数字段?
我查找了其他有相同问题的人,似乎问题在于需要解析为整数。我试过了,但它仍然在增加分数,而不是把分数加到分数上。我一定是做错了,但我不确定是什么 这是我的一段代码Javascript,分数被追加而不是添加到分数字段?,javascript,numbers,parseint,Javascript,Numbers,Parseint,我查找了其他有相同问题的人,似乎问题在于需要解析为整数。我试过了,但它仍然在增加分数,而不是把分数加到分数上。我一定是做错了,但我不确定是什么 这是我的一段代码 var gameButton = function(){ var userVariable = (document.getElementById("userInput").value); var gameSecret = Math.floor(Math.random() * 100 +1); var points = userVaria
var gameButton = function(){
var userVariable = (document.getElementById("userInput").value);
var gameSecret = Math.floor(Math.random() * 100 +1);
var points = userVariable * 3.14;
var score = 0;
//check if valid entry
if(userVariable <2) {
alert("You must choose a number between 2 - 100");
} else {
//check game result
if(gameSecret>userVariable){
document.getElementById('gameSecret').innerHTML ="You won! Game Secret was " +gameSecret;
document.getElementById('points').innerHTML ="You won " +points +" points!";
//I'm pretty certain these next few lines is where I messed up
var points2 = parseInt(points, 10);
var score2 = parseInt(score, 10);
document.getElementById('score').innerHTML += score2+points2;
} else {
var gameButton=function(){
var userVariable=(document.getElementById(“userInput”).value);
var gameSecret=Math.floor(Math.random()*100+1);
变量点=用户变量*3.14;
var得分=0;
//检查输入是否有效
if(userVariable userVariable){
document.getElementById('gameSecret').innerHTML=“你赢了!游戏秘密是”+gameSecret;
document.getElementById('points').innerHTML=“你赢了”+points+“points!”;
//我很确定接下来的几行就是我搞砸的地方
var points2=parseInt(点,10);
var score2=parseInt(分数,10);
document.getElementById('score').innerHTML+=score2+points2;
}否则{
该+
运算符是左-右关联的,因此串联优于加法。此外,您必须将字段的现有值作为一个数字来添加:
var score = document.getElementById('score').innerHTML;
...
var score2 = parseInt(score, 10);
document.getElementById('score').innerHTML = score2 + points2;
我认为您只需要通过
=
而不是+=
设置内部HTML
。还有结果(score2+point2)
应该先计算。@KingKing刚刚尝试了这个方法,但现在它没有追加或添加。Score字段与该轮的分数保持不变。在添加之前验证您是否确实得到了一个数字:if(number.isInteger(parseInt(someData)){};谢谢,这很有帮助,但它没有立即起作用。事实证明,我问的问题不正确。在混乱了很长一段时间后,我终于让它起作用了。问题是我没有使用全局变量作为分数。我在函数中使用了它,所以它总是重置为0。