javascript - var 元素内部的随机数生成器每次调用时都会给出相同的输出
问题描述
所以我正在尝试制作一个涉及RNG(随机数生成)的JS项目。
我正在使用一个var
带有随机数生成器的对象。这是我正在谈论的一个例子:
var RNG = Math.floor(Math.random() * (863 - 768 + 1)) + 768;
document.getElementById("output").innerHTML = RNG +" "+ RNG +" "+ RNG;
我希望这会在 ID 为“输出”的元素中给出 3 个不同的随机数。相反,我得到了 3 个相同的随机数。我该怎么做才能获得 3 个不同的随机数而不是 3 个相同的随机数?
解决方案
尝试使用函数而不是变量。变量的值只计算一次(除非您稍后重新分配它),然后将结果保存在其中以供将来使用。所以一个函数更适合你的问题。
像这样的东西:
function RNG() {
return Math.floor(Math.random() * (863 - 768 + 1)) + 768;
}
document.getElementById("output").innerHTML = RNG() +" "+ RNG() +" "+ RNG();
推荐阅读
- python - 将 F2PY 编译步骤翻译成 numpy distutils setup.py
- sql - 优化连接条件下多个用户定义函数的使用
- c# - 我第二次使用 DataReader 时出错
- firebase - 如何获取 bigquery 表中的全部数据,而不是每天的数据
- java - 是否可以更改为 Kotlin 数据类生成的 toString() 方法的行为?
- android - 我应该为 appium 测试脚本使用什么样的驱动程序
- configuration - Asp.Net Core 在多个 API 之间共享公共服务注册
- php - PHP Simple XML 访问图像 url 元素值
- java - FragmentManager 中的 IllegalStateException -> restoreAllState():找不到索引为 -1 的活动片段
- ansible - 如何检查字典键是否为空