Javascript += 等效?

Javascript += equivalent?

我的代码是一个简单的函数,它检查按下了哪个单选按钮,并将该单选按钮的值添加到我的 var input = 0;。但是,我知道我做错了什么,但输出是错误的。当 if 语句之一为真时,而不是 input(0) 现在等于自身加上 ​​getElementById("small").value 的新值,它打印出 010 而不是现在 10.

我知道 Java 中有一个类似于 input += getElementById("small").value; 的约定,但这似乎不起作用。因此,正如您在下面的示例中看到的那样,我尝试了 input = input + /*code*/; 的替代方案,但仍然没有成功。

我是 JavaScript 的新手,但对 Java 非常熟悉。我想我只是在这里使用了错误的语法,但我所有的 Google 搜索都是失败的。

function calculate()
{
    var input = 0;
    if (document.getElementById("small").checked) 
    {
        input = input + document.getElementById("small").value;
    }
    else if (document.getElementById("medium").checked)
    {
        input = input + document.getElementById("medium").value;
    }
    else if (document.getElementById("large").checked)
    {
        input = input + document.getElementById("large").value;
    }
    else
    {
        alert("failed");
    }

    document.getElementById("outar").innerHTML = input;
}

您需要使用 parseIntparseFloat.value 转换为整数或浮点数。 .value 是一个字符串。

您正在尝试对字符串进行算术运算。您需要在每个 document.getElementById("....").value 表达式周围使用 parseInt(),因为 .value 属性 是一个字符串。

示例:

input += parseInt(document.getElementById("small").value);

默认情况下,您的值不是数字,而是字符串。你必须先解析它:

input += parseInt(document.getElementById("large").value);

您可以在字符串值之前添加一个额外的 + 符号,以便将其转换为数字:

input += +document.getElementById("large").value;

Javascript 是动态类型语言,而不是像 java 这样的静态类型语言。 document.getElementById("small").value returns 需要使用 parseInt() 转换为 int 的字符串。

Ho[e 有帮助:)

你也可以参考这个link-

value 的返回值是一个字符串。在进行任何算术运算之前,您必须将其转换为 int。

JavaScript 是一种动态类型语言,而不是像 java 这样的静态类型语言。

Return Value: 字符串,表示文本字段的值