简单的Javascript语法出乎意料地表现

时间:2014-11-04 18:22:10

标签: javascript html html5

显示60 + 5为605而不是65

g = document.getElementById("height1").value * 12;
alert(g);    <---- This is showing 60
h = document.getElementById("height2").value;
alert(h);   <---- This is showing 5
b = g+h;
alert(b);    <---- This is showing 605

任何想法

4 个答案:

答案 0 :(得分:3)

使用parseInt()转换为整数。 Javascript中的+用于添加和连接。

答案 1 :(得分:3)

Javacript不是强类型语言。它最好解释变量的类型,通常,如果你尝试将类似字符串的变量添加到类似整数的变量,它会将其解释为字符串连接。 / p>

您可以强制将变量解释为这样的整数:

 b = parseInt(g) + parseInt(h);

或者,使用其他技巧强制变量成为数字,如下所示:

 b = (g*1) + (h*1);

答案 2 :(得分:0)

b =(g + h)怎么样?

确保变量是整数,否则将它们转换为整数

答案 3 :(得分:0)

如果这些HTML元素的值是字符串(比如在文本输入框中?),那么你正在做的是连接字符串,而不是添加数字。

您需要1)确保输入值实际上是数字,2)使用parseInt()将字符串转换为整数。