javascript - 添加两个数字将它们连接起来,而不是计算总和

我正在添加两个数字,但我没有得到正确的值。

例如,执行 1 + 2 返回 12 而不是 3

我在这段代码中做错了什么?

function myFunction() {
  var y = document.getElementById("txt1").value;
  var z = document.getElementById("txt2").value;
  var x = y + z;
  document.getElementById("demo").innerHTML = x;
}
<p>
  Click the button to calculate x.
  <button onclick="myFunction()">Try it</button>
</p>
<p>
  Enter first number:
  <input type="text" id="txt1" name="text1" value="1">
  Enter second number:
  <input type="text" id="txt2" name="text2" value="2">
</p>
<p id="demo"></p>

最佳答案

它们实际上是字符串,而不是数字。从字符串生成数字的最简单方法是在其前面加上 +:

var x = +y + +z;

https://stackoverflow.com/questions/14496531/

相关文章:

css - Margin-Top 不适用于 span 元素?

html - 固定表格单元格宽度

JavaScript 表单提交 - 确认或取消提交对话框

javascript - 如何替换 div 元素中的文本?

html - 如何仅使用 CSS/HTML 隐藏图像损坏的图标?

html - CSS:元素符号和

  • 之间的控制空间

    html - 移动 View 顶部的引导右列

    html - 相对定位元素而不占用文档流中的空间

    html - 为什么我的 CSS3 媒体查询在移动设备上不起作用?

    html - Flexbox vs Twitter Bootstrap(或类似框架)