【问题标题】:how do I add these strings and not concatenate them如何添加这些字符串而不是连接它们
【发布时间】:2014-04-11 12:40:38
【问题描述】:

我的代码只是纯粹地连接它们,我希望它添加它们。

 <FORM NAME="Calc">
<TR>
<TD>
Number 1 <INPUT TYPE="text"   NAME="n1" Size="16">
Number 2 <INPUT TYPE="text"   NAME="n2" Size="16">
Answer<INPUT TYPE="text"   NAME="ans" Size="16">

<br>
</TD>
</TR>
<TR>
<TD>
<INPUT TYPE="button" NAME="one"   VALUE="  +  " OnClick="Calc.ans.value = eval(Calc.n1.value + Calc.n2.value)">

【问题讨论】:

    标签: javascript


    【解决方案1】:

    像这样:

    Calc.ans.value = (+Calc.n1.value) + (+Calc.n2.value);
    

    您不需要在这里使用eval()。事实上,你应该(几乎)永远不要使用eval()

    【讨论】:

      【解决方案2】:

      这行得通:

      Calc.ans.value = parseInt(Calc.n1.value) + parseInt(Calc.n2.value)
      

      【讨论】:

        【解决方案3】:

        这样更安全(见this):

        Calc.ans.value = parseInt(Calc.n1.value, 10) + parseInt(Calc.n2.value, 10)
        

        【讨论】:

        • 它比使用没有基数的parseInt() 更安全,但是+ 运算符没有您链接到的页面中提到的问题。另外,您确定 OP 想要使用的数字仅限于整数吗?
        • 是的,我同意你的看法! ;)
        猜你喜欢
        • 2021-06-15
        • 1970-01-01
        • 2014-06-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-17
        相关资源
        最近更新 更多