Умножение переменных не отображается

В приведенном ниже коде отображается "результат", равный нулю как 2 * 0. Однако есть кнопка, которая добавляет 2 к "number2". При щелчке по нему "результат" должен быть 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();
<button onclick="add2();">click me</button>
2 ответа

Вы должны объявить переменную результата глобально, а затем убедитесь, что вы ее вычисляете каждый раз, когда вы нажимаете кнопку. Ниже я создал функцию, называемую вычислением, чтобы сделать это:

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


Вы должны объявить переменную 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();
<button onclick="add2();">click me</button>

licensed under cc by-sa 3.0 with attribution.