我的代码是一个简单的函数,用于检查按下了哪个单选按钮,并将该单选按钮的值添加到var input = 0;
。但是,我知道我做错了,因为它有效,但输出错误。当其中一个if
语句为真时,而不是输入(0)现在等于它自己加上getElementById("small").value
的新值,它打印出010
而不是现在{ {1}}。
我在Java中知道有一个类似于10
的约定,但这似乎不起作用。正如您在下面的示例中所看到的,我尝试了input += getElementById("small").value;
的替代方案,但仍然没有运气。
我是JavaScript的新手,但对Java非常熟悉。我想我在这里只是使用了错误的语法,但我的所有谷歌搜索都是破产。
input = input + /*code*/;
答案 0 :(得分:5)
您正在尝试使用字符串进行算术运算。您需要在每个parseInt()
表达式周围使用document.getElementById("....").value
,因为.value
属性是字符串。
示例:
input += parseInt(document.getElementById("small").value);
答案 1 :(得分:2)
默认情况下,您的值不是数字,而是字符串。你必须先解析它:
input += parseInt(document.getElementById("large").value);
答案 2 :(得分:2)
您可以在字符串值之前添加额外的+符号,以便将其转换为数字:
input += +document.getElementById("large").value;
答案 3 :(得分:1)
您需要将.value
转换为整数或带有parseInt
或parseFloat
的浮点数。 .value
是一个字符串。
答案 4 :(得分:1)
Javascript是动态类型语言,不像java那样是静态类型。 document.getElementById(“small”)。value返回一个字符串,需要用parseInt()转换为int。
Ho [e that that :):
答案 5 :(得分:1)
您也可以参考此link-
值的返回值是一个字符串。在进行任何算术运算之前,必须将其转换为int。
JavaScript是一种动态类型语言,不像java那样是静态类型。
返回值:一个字符串,表示文本字段的值