我应该为这些使用 else-if 语句吗?

Should I be using else-if statements for these?

我对编码很陌生,一直在尝试使用 HTML 和 JavaScript 创建一个非常简单的计算器,用户输入两个值,从一系列按钮中选择一个运算符,然后得到一个结果。

非常感谢知道自己在做什么的人提供一些指导!!

我试过实施 else-ifs,但它似乎没有解决问题。只有函数的最后一行在执行。 Python有这么难吗?!

<button id="a" value="+">+</button>
<button id="b" value="-">-</button>
<button id="c" value="/">/</button>
<button id="d" value="X">X</button>

<input type="text" id="n1"/>
<input type="text" id="n2"/>
<script>
    function calc()
    {
        var n1 = parseFloat(document.getElementById('n1').value);
        var n2 = parseFloat(document.getElementById('n2').value);

        var a = document.getElementById("a").value;
        var b = document.getElementById("b").value;
        var c = document.getElementById("c").value;
        var d = document.getElementById("d").value;

        if(a === '+')
        {
            document.getElementById('result').value = n1+n2;
        }
        if(b === '-')
        {
            document.getElementById('result').value = n1-n2;
        }
        if(c === '/')
        {
            document.getElementById('result').value = n1/n2;
        }
        if(d === 'X')
        {
            document.getElementById('result').value = n1*n2;
        }
    }

</script>

我希望每行都被执行以产生正确的操作数,但目前唯一的最后一行 (n1*n2) 给了我任何东西。

您的所有条件都为真,因为按钮的值不会根据用户是否单击它而改变。

您应该更改 calc() 以便将按钮作为参数,然后检查参数值的值。 switch 语句是编写此类检查的简单方法。

function calc(button) {
  var n1 = parseFloat(document.getElementById('n1').value);
  var n2 = parseFloat(document.getElementById('n2').value);
  let result;
  switch (button.value) {
    case '+':
      result = n1 + n2;
      break;
    case '-':
      result = n1 - n2;
      break;
    case '/':
      result = n1 / n2;
      break;
    case 'X':
      result = n1 * n2;
      break;
  }
  document.getElementById('result').value = result;
}
<input type="text" id="n1" />
<input type="text" id="n2" /><br>
<button id="a" value="+" onclick="calc(this)">+</button>
<button id="b" value="-" onclick="calc(this)">-</button>
<button id="c" value="/" onclick="calc(this)">/</button>
<button id="d" value="X" onclick="calc(this)">X</button>
<br>
<input type="text" id="result" readonly />