变量的乘法不显示

问题描述 投票:2回答:2

在下面的代码中,显示的“结果”为零,为2 * 0.但是,有一个按钮将“2”加2。点击它,“结果”应该是2 * 2,而不是2 * 0.我的问题是它最终显示为零。

let number1 = 2;
let number2 = 0;

const add2 = () => {
  number2 += 2;
  display();
};

let result = number1 * number2;

const display = () => {
  document.getElementById("result").innerText = result;
};

display();
<p><span id="result"></span></p>

<button onclick="add2();">click me</button>
javascript html
2个回答
0
投票

你应该声明全局的result变量,它始终保存结果。

    let number1 = 2;
let number2 = 0;
let result;
const add2 = () => {
        number2 += 2;
        result = number1 * number2;
        display();
};

result = number1 * number2;
const display = () => {
      document.getElementById("result").innerText = result;
};

display();
 <p><span id="result"></span></p>
 <button onclick="add2();">click me</button>

0
投票

您需要全局声明结果变量,然后确保每次单击按钮时都计算它。下面我创建了一个名为calculate的函数来执行此操作:

<html>

<body>
    <p><span id="result"></span></p>

    <button onclick="add2();">click me</button>
   <script>


    let number1 = 2;
    let number2 = 0;
    let result;

    const add2 = () => {
        number2 += 2;
        result = calculate();
        display();
    };
    
    const calculate = () => {
      return number1 * number2;
    };

    const display = () => {
        document.getElementById("result").innerText = result;
    };
    result = calculate();
    display();

   </script> 

</body>
© www.soinside.com 2019 - 2024. All rights reserved.