JavaScript生成随机数核心是Math.random(),返回[0,1)浮点数;整数范围用Math.floor(Math.random()(max-min+1))+min,小数范围用Math.random()(max-min)+min。

JavaScript 里生成随机数,核心靠 Math.random(),它返回一个大于等于 0、小于 1 的浮点数(如 0.348291...)。想得到指定范围的整数或小数,需要简单换算——不是直接“生成”,而是“调整范围”。
生成 0 到 n 之间的随机整数(含 0 和 n)
用 Math.floor(Math.random() * (n + 1))。因为 Math.random() 最大接近 1 但不等于 1,乘以 (n + 1) 后最大接近 n + 1,再向下取整就能覆盖 0 到 n 全部整数。
-
Math.floor(Math.random() * 6)→ 0~5 的随机整数(常用于模拟骰子) -
Math.floor(Math.random() * 101)→ 0~100 的随机整数
生成 a 到 b 之间的随机整数(含 a 和 b,a
公式是:Math.floor(Math.random() * (b - a + 1)) + a。先算出区间长度(+1 是为了包含两端),缩放随机值,再平移到起始位置。
- 想要 5~15 的随机整数?写
Math.floor(Math.random() * 11) + 5 - 注意:如果 a 或 b 是变量,确保它们是数字且
a ,否则结果可能不符合预期
生成 a 到 b 之间的随机小数(含 a,不含 b)
去掉取整即可:Math.random() * (b - a) + a。这是最直接的线性映射。
立即学习“Java免费学习笔记(深入)”;
-
Math.random() * 10 + 20→ 20.0 到 30.0 之间的小数(含 20.0,不含 30.0) - 如需保留两位小数,可接
.toFixed(2),但注意它返回字符串;要数字就用parseFloat(...)或+转换
Math 对象其他常用方法(配合随机使用)
Math 不只是用来随机,几个高频辅助方法也常一起出现:
-
Math.abs(x):取绝对值,避免负数干扰范围计算 -
Math.round(x):四舍五入(适合中间值取整,但注意 0.5 总向偶数舍入) -
Math.max(...)/Math.min(...):从多个随机值中找极值,比如生成 10 个随机数后取最大 -
Math.pow(x, n)或x ** n:做随机指数变换(如模拟增长分布)










