我有两个输入字段,允许用户分别输入 2 个带有 ID(x和y)的数字,以及一个用于计算数字的按钮。因此,当我尝试使用方法将它们相加时getElementById(),它将该值视为字符串并将它们组合在一起。我确实知道我需要使用parseInt()函数将字符串转换为整数。
但是,当我对减法函数使用完全相同的方法时,情况并非如此。它将值视为整数。有谁知道为什么吗?
function addition() {
var number1 = document.getElementById("num1").value;
var number2 = document.getElementById("num2").value;
var total2 = number1 + number2;
document.getElementById("tes4t").innerHTML = total2;
}
function subtract() {
var number1 = document.getElementById("num1").value;
var number2 = document.getElementById("num2").value;
var total = number1 - number2;
document.getElementById("tes4t").innerHTML = total;
}Run Code Online (Sandbox Code Playgroud)
Number1 : <input type="number" id="num1">
<br>
Number 2: <input type="number" id="num2">
<br>
<button onclick="addition()">add </button>
<button onclick="subtract()">subtract </button>
<div id="tes4t">
</div>Run Code Online (Sandbox Code Playgroud)
在Javascript中,+运算符也是用于String连接的字符串运算符(例如“x”+“y”=“xy”)。
在两个操作数上使用+运算符(其中至少一个是String引擎)会将两个操作数视为 aString并执行串联。
由于getElementById("num1").valuereturn String, using+将产生连接字符串。
如果-它只是算术运算符 - 引擎将在应用运算符之前尝试将操作数的值转换为数字。
如果需要确保执行加法,可以使用 orNumber()方法parseInt()来转换字符串值。
| 归档时间: |
|
| 查看次数: |
1960 次 |
| 最近记录: |