有人请帮助我。我不确定我在这里做错了什么:
我正在尝试添加一些数字。
相反,添加2个数字只是将2个数字放在一起;如: 3 + 3 = 33(而不是6)!!!
如果我用+替换+,则返回正确的结果(9)
发生了什么事?
<p id="A">3</p>
<p id="B">3</p>
<p id="score"></p>
<script>
var AA = document.getElementById("A").innerHTML;
var BB = document.getElementById("B").innerHTML;
var result = AA + BB;
document.getElementById("score").innerHTML = result;
</script>
答案 0 :(得分:4)
那是因为他们是字符串,因此您正在获得字符串连接。在执行添加之前Convert them to numbers。
AA = parseInt(AA, 10);
BB = parseInt(BB, 10);
答案 1 :(得分:1)
你从html中得到的是字符串,而不是数字。您需要先将它们解析为数字:
var AA = parseInt(document.getElementById("A").innerHTML, 10);
var BB = parseInt(document.getElementById("B").innerHTML, 10);
parseInt
会将字符串转换为数字,并使您的添加正常工作。 parseInt
调用中的第二个参数是基数,这有助于防止在实际解析数字时出现混乱的错误