如何将新的随机数输出到 JavaScript 中的 HTML 文档(通过 innerText)?

How do I output a new random number to an HTML doc(via innerText) in JavaScript?

我正在HTML和JavaScript学校做一个简单的数学游戏,这只是其中的一小部分。基本上我有一个我希望能够按下的按钮,每次按下它我都希望它输出一个新数字到 HTML 文档中 div 的 innerText。

现在我得到了随机数,但我必须刷新页面才能得到一个新的,因为如果我再次按下它,它会一直输出相同的。

const mathQuestion = document.getElementById('math-question')
const newNumbers = document.getElementById('new-btn')

newNumbers.addEventListener('click', setQuestion)

function setQuestion () {

    mathQuestion.innerText = calc.toString();
    console.log(calc);
}

var calc = Math.floor(Math.random() * 100) + 1;

是的,这很简单,可能不是最简单甚至不是正确的方法,但我在这里不知所措。

我怀疑我需要 运行 另一个函数来重置文本或在我设置了 innerText 之后,但我真的不知道从哪里开始。

目前,您只生成一次随机数,当您点击按钮时,您在 HTML 中设置相同的数字。这就是为什么无论您点击按钮多少次,您看到的都是相同的数字。

页面重新加载时数字会发生变化,因为每次页面重新加载时,都会生成新的随机数。

每次点击按钮时都需要re-generate随机数。为此,将随机数生成代码移到事件处理函数中,它应该会按预期工作。

function setQuestion () {
    var calc = Math.floor(Math.random() * 100) + 1;
    mathQuestion.innerText = calc;
}

此外,无需将数字显式转换为字符串。