【问题标题】:I am trying to create 4 buttons in HTML that calls the following functions such as Adding, Subtracting, Multiplying, dividing我正在尝试在 HTML 中创建 4 个按钮,它们调用以下函数,例如加法、减法、乘法、除法
【发布时间】:2022-02-14 02:56:36
【问题描述】:

我是 JavaScript 新手,我对自己做错了什么感到有些困惑。对于这个作业,我需要在 HTML 中创建 4 个按钮,它们调用以下函数,例如加、减、乘和除。我想提示用户输入两个数字,然后它会计算它。

我想出了如何制作一个添加按钮,但由于某种原因,我无法为 - * / 创建其他按钮。我也不确定为什么它不跟踪减法按钮等的计算。我有点困惑如何在一个程序中创建多个功能和按钮。

function add() {

  var num1, num2, num3;

  numAdd1 = parseInt(prompt("Enter First Number:"));
  numAdd2 = parseInt(prompt("Enter Second Number:"));
  numAdd3 = numAdd1 + numAdd2



  resultAdd = "Result is " + String(numAdd3)
  //document.write(numAdd3 + "<br>")


  document.getElementById("result").innerHTML = resultAdd;

}

function sub() {

  var sub1, sub2, sub3;


  sub1 = parseInt(prompt("Enter First Number:"));
  sub2 = parseInt(prompt("Enter Second Number:"));
  sub3 = sub1 - sub2



  result2 = "result is : " + String(numSub3)
  //document.write(Sub3 + "<br>")


  document.getElementById("result2").innerHTML = result2;

}
<button onclick="add()">Press to Add</button>
<p id="result">Result:</p>

<button onclick="sub()">Press to Subtract</button>
<p id="result2">Result:</p>

<button onclick="Multiply()">Press to Multiply</button>
<p id="result">Result:</p>

<button onclick="Divide()">Press to Divide</button>
<p id="result2">Result:</p>

【问题讨论】:

  • ID 必须是唯一的

标签: javascript html button onclick calculator


【解决方案1】:

你打错字了。在result2 变量“赋值”的末尾(意思是设置变量的值),而你为变量使用了错误的名称。 numSub3 应该是 sub3

result2 = "result is : " + String(sub3);

【讨论】:

  • 感谢您的帮助。我没有意识到这一点。我纠正了它,现在它可以工作了。我看到我的老师创建了两个作业。一个说他想要输出带有返回值的值。你知道我将如何修改这个程序以输出带有返回值的值吗?
  • 其实我不知道,但我会试着弄清楚。
【解决方案2】:

欢迎您,祝您作业顺利。好的开始!

我建议您使用input 元素作为您的数字输入,正如我在这个部分示例中所展示的那样。此外,请务必确保变量命名和一般代码布局的一致性。越早养成这些习惯越好。

并挑战自己添加一些花里胡哨的东西!

function run(operator) {
  const values = getValues();
  const result = calculate(values.left, values.right, operator);
  writeResult(result);
}

function calculate(left, right, operator) {

  if (operator === '+') {
    return left + right;
  }
  if (operator === '-') {
    return left - right;
  }
  /* 
  add rest of operations...
  */
  throw Error('Invalid operator passed in');
}

function getValues() {
  return {
    left: +document.getElementById('left').value,
    right: +document.getElementById('right').value,
  }
}

function writeResult(result) {
  document.getElementById('result').innerText = result;
}
<input type="number" id="left" />
<input type="number" id="right" />
<br/>
<button onclick="run('+')">Add</button>
<button onclick="run('-')">Subtract</button> ...more buttons
<div id="result"></div>

【讨论】:

  • 感谢您的帮助。我纠正了它,现在它可以工作了。我看到我的老师创建了两个作业。一个说他希望输出带有返回值的值。你知道我将如何修改这个程序以输出带有返回值的值吗?
  • 当然,修改它,所以你没有功能有太多的责任。这是一种可能的重写方法,因此我们有一个获取值的函数、一个执行操作的函数和一个写入值的函数。还有一个功能可以一起“运行”它。
猜你喜欢
  • 1970-01-01
  • 2015-12-04
  • 1970-01-01
  • 1970-01-01
  • 2020-03-17
  • 1970-01-01
  • 1970-01-01
  • 2021-04-12
  • 2020-10-05
相关资源
最近更新 更多