JavaScript中Math.random()生成随机数的完整指南
本文详细解析JavaScript中Math.random()函数的使用方法,涵盖生成指定范围内连续整数随机数的公式推导,以及通过三元运算符、函数参数数组和apply方法实现不连续整数或文本随机选择的技巧,帮助开发者掌握多种随机数应用场景。
Math.random()基础介绍
Math.random()函数用于返回一个介于0(包含)到1(不包含)之间的伪随机浮点数。该功能在许多网站开发中十分常见,常用于实现名言警句或新闻内容的随机展示效果。
生成连续整数随机数
1. 获取连续整数范围内的随机数
计算公式为:目标值 = Math.floor(Math.random() * 可能值的总数 + 起始可能的值)。例如,生成1到10之间的随机整数。
具体实现代码如下:
var rand1 = Math.floor(Math.random() * 10 + 1);
封装一个函数,用于生成从startNumber到endNumber之间的随机整数。
函数定义代码如下:
function selectFrom(startNumber, endNumber) {
var choice = endNumber - startNumber + 1;
return Math.floor(Math.random() * choice + startNumber)
}
调用示例:var rand2 = selectFrom(2,8); // 生成2至8之间的随机数
生成不连续整数随机数
2. 获取不连续整数范围内的随机数
2.1 在两个不相邻的整数中随机选择一个
示例:随机生成2或4中的一个数字。
实现代码如下:
var rand3 = Math.random() < 0.5 ? 2 : 4;
2.2 在多个不相邻的整数中生成随机数
利用函数参数数组特性,可以编写一个从多个不相邻整数中随机选取值的函数。
函数定义代码如下:
function selectFromMess() {
return arguments[Math.floor(Math.random() * arguments.length)]
}
// 随机生成1、6、8中的一个数字
var rand4 = selectFromMess(1, 6, 8);
// 同样可用于随机生成文本内容
var randomTxt1 = selectFromMess("安慰奖", "二等奖", "一等奖");
每次调用需输入大量参数较为繁琐,可对函数进行优化改写。
优化后的代码如下:
function selectFromMessArray(arr) {
return arr[Math.floor(Math.random() * arr.length)]
}
var arrayTxt=["一","二","三","四","五"];
var randTxt2 = selectFromMessArray(arrayTxt);
若不想修改原函数,也可利用apply()方法传递数组参数。
调用示例代码如下:
var randTxt3 = selectFromMess.apply(null,arrayTxt);
关于apply方法的详细用法,可参考https://www.jb51.net/article/42705.htm
以上内容即为本文的全部讲解,希望读者能够喜欢。
D3.js 比例尺与坐标轴的配置详解
2026-11-05 16:54:46
JavaScript怎么遍历对象的Symbol键和不可枚举属性
2026-11-05 13:13:39
封装一个健壮的JS字符串判空工具函数
2026-11-05 12:16:14
JavaScript合并数组的三种常用方法:concat、扩展运算符与push
2026-11-05 11:22:29
JavaScript立即执行函数(IIFE)是什么及基本语法
2026-11-05 10:51:19
