一、JavaScript生成1到100的随机数
1、利用Math.random()函数生成0到1的随机小数
function genNum(){ var num = Math.floor(Math.random() * 100); return num + 1; } console.log(genNum());
2、使用Math.floor()函数将随机小数向下取整,使得结果在0~99之间
3、再将结果加1,使得结果在1~100之间
二、JavaScript生成不重复的随机数
1、创建一个空数组,用来保存随机数
2、使用while循环来生成随机数,直到数组中元素个数达到指定大小
3、每次生成随机数前,先判断数组中是否包含该随机数,若不包含才添加到数组中
function genNumArray(length, maxNum) { var nums = []; var idx = 0; while (idx < length) { var num = Math.floor(Math.random() * maxNum) + 1; if (nums.indexOf(num) === -1) { nums.push(num); idx ++; } } return nums; } console.log(genNumArray(5, 10));
三、JavaScript随机数生成函数
1、编写一个函数用于生成指定范围内的随机数,函数需要接收参数,包括最小值和最大值
2、计算随机数的范围为(max - min) + 1,保证在指定范围内每个数出现的概率相等
3、使用Math.floor()函数将随机数向下取整,再加上最小值,保证随机数在指定范围内取值
function randomNumber(min, max){ return Math.floor(Math.random() * (max - min + 1)) + min; } console.log(randomNumber(10, 30));
四、JavaScript随机数五花八门
1、JavaScript生成指定长度随机字母
function randomString(len){ var chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; var result = ""; for (var i = 0; i < len; i++){ result += chars.charAt(Math.floor(Math.random() * chars.length)); } return result; } console.log(randomString(10));
2、JavaScript生成随机布尔值
function randomBoolean(){ return Math.random() >= 0.5; } console.log(randomBoolean());
3、JavaScript生成随机RGB颜色
function randomColor(){ var r = Math.floor(Math.random() * 256); var g = Math.floor(Math.random() * 256); var b = Math.floor(Math.random() * 256); return "rgb(" + r + ", " + g + ", " + b + ")"; } console.log(randomColor());
4、JavaScript生成随机十六进制颜色
function randomHexColor(){ var color = Math.floor(Math.random() * 0xFFFFFF).toString(16).padStart(6, '0'); return "#" + color; } console.log(randomHexColor());
5、JavaScript生成随机UUID
function uuid(){ return Math.random().toString(36).substr(2, 9); } console.log(uuid());总结:JavaScript生成随机数是很常见的需求,本文从不同的角度详解了JavaScript随机数的生成方法,旨在让读者能够熟练的利用JavaScript生成随机数。