使用 javascript 创建计算器会产生意外输出

Creating an calculator with javascript gives unexpected output

大家好,

我正在尝试创建一个可以求和的计算器。

我想做的是:

  1. 搜索加号,并获取加号在数字中的位置
  2. 得到product1product2
  3. 将它们相加为 y.value

现在您可以看到这与 3 + 2 = 5 不同。但它给出 3 + 2 = 32

所以我看到我的脚本没有将其视为数字而是字符串。那么我需要做什么才能使其正常工作?

感谢您的帮助!

function start() {
  var snelheid = 10;
  var x = document.getElementById("input");
  var y = document.getElementById("output");
  x.value = "3+2"

  function process() {
    var place_plus = x.value.indexOf("+");
    var product1 = x.value.slice(0, place_plus);
    var product2 = x.value.slice(place_plus + 1, x.value.length);
    y.value = product1 + product2;
    document.getElementById("var").innerHTML = product1 + " + " + product2 + " = " + (product1 + product2);
  }

  var animateInterval = setInterval(process, snelheid);
}

window.addEventListener('load', function(event) {
  start();
});
<textarea id="input"></textarea>
<textarea id="output"></textarea>

<p id="var"></p>

您可以使用一元运算符 (+) 将字符串转换为数字:

var product1 = +x.value.slice(0, place_plus);
var product2 = +x.value.slice(place_plus + 1, x.value.length);