在下面的代码中,显示的“结果”为零,为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>
答案 0 :(得分: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>
答案 1 :(得分: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>
&#13;