JavaScript生成随机数核心是Math.random()返回[0,1)浮点数;整数需用Math.floor(Math.random()*(max-min+1))+min确保含边界;小数先放大取整再缩小;安全场景须用crypto.getRandomValues()配合拒绝采样。

JavaScript 生成随机数主要靠 Math.random(),它返回一个大于等于 0、小于 1 的浮点数。想得到指定范围的整数或小数,得自己做换算——这一步最容易出错,也是细节最多的地方。
生成指定范围的整数(含边界)
比如要生成 5 到 10 之间的随机整数(包括 5 和 10),不能直接写 Math.random() * 6 + 5 然后 Math.floor,因为那样会漏掉 10。正确写法是:
Math.floor(Math.random() * (max - min + 1)) + min- 关键在
+ 1:保证区间长度覆盖全部整数个数 - 用
Math.floor(不是round或ceil),避免两端概率不均
生成指定范围的小数(保留位数)
比如生成 1.2 到 5.8 之间保留一位小数的随机数:
- 先按整数思路放大:乘以 10 → 范围变成 12 到 58
- 生成整数:
Math.floor(Math.random() * (58 - 12 + 1)) + 12 - 再除以 10:
result / 10 - 注意:不要用
.toFixed()返回字符串;如需数字类型,用parseFloat()或一元加号+result.toFixed(1)
避免常见陷阱
这几个坑新手常踩:
标签: javascript java js node.js node 浏览器 crypto
还木有评论哦,快来抢沙发吧~