首页 > 解决方案 > var 元素内部的随机数生成器每次调用时都会给出相同的输出

问题描述

所以我正在尝试制作一个涉及RNG(随机数生成)的JS项目。

我正在使用一个var带有随机数生成器的对象。这是我正在谈论的一个例子:

var RNG = Math.floor(Math.random() * (863 - 768 + 1)) + 768;
document.getElementById("output").innerHTML = RNG +"&nbsp"+ RNG +"&nbsp"+ RNG;

我希望这会在 ID 为“输出”的元素中给出 3 个不同的随机数。相反,我得到了 3 个相同的随机数。我该怎么做才能获得 3 个不同的随机数而不是 3 个相同的随机数?

标签: javascriptrandom

解决方案


尝试使用函数而不是变量。变量的值只计算一次(除非您稍后重新分配它),然后将结果保存在其中以供将来使用。所以一个函数更适合你的问题。

像这样的东西:

function RNG() {
    return Math.floor(Math.random() * (863 - 768 + 1)) + 768;
}

document.getElementById("output").innerHTML = RNG() +"&nbsp"+ RNG() +"&nbsp"+ RNG();

推荐阅读