定义和用法:
1.Math.random(); 结果为0-1间的一个随机数(包括0,不包括1)
2.Math.floor(num); 参数num为一个数值,函数结果为num的整数部分。
3.Math.round(num); 参数num为一个数值,函数结果为num四舍五入后的整数。
Math.random(); 返回0和1间(包括0,不包括1)的一个随机数。
用Math.ceil(Math.random()*10);时,主要获取1到10的随机整数,取0的几率极小。
用Math.round(Math.random());可均衡获取0到1的随机整数。
用Math.round(Math.random()*10);时,可基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。
用Math.floor(Math.random()*10);时,可均衡获取0到9的随机整数。
Math:数学对象,提供对数据的数学计算。
Math.ceil(n); 返回大于等于n的最小整数。
Math.round(n); 返回n四舍五入后整数的值。
Math.floor(n); 返回小于等于n的最大整数。
1、获取0到1之间的随机数
// 结果为0-1间的一个随机数(包括0,不包括1)
var randomNum1 = Math.random();
//console.log(randomNum1);
2、取随机数的整数部分,小于等于n的最大整数
// 函数结果为随机数的整数部分。 floor() 方法可对一个数进行下舍入。
var randomNum1 = Math.random();
var randomNum2 = Math.floor(randomNum1);
//console.log(randomNum2);
// Math.floor(n); 返回小于等于n的最大整数。
var randomNum7 = Math.floor(Math.random() * 10); // 可均衡获取0到9的随机整数。
//console.log(randomNum7);
3、取结果为随机数的四舍五入后的值
// 函数结果为随机数的整数部分。
var randomNum1 = Math.random();
var randomNum3 = Math.round(randomNum1);
//console.log(randomNum3);
4、返回一定范围内随机数,大于等于n的最小整数
// Math.ceil(n); 返回大于等于n的最小整数。
var randomNum4 = Math.ceil(Math.random() * 10); // 主要获取1到10的随机整数,取0的几率极小。
//console.log(randomNum4);
5、返回n四舍五入后整数的值
// Math.round(n); 返回n四舍五入后整数的值。
var randomNum5 = Math.round(Math.random()); // 可均衡获取0到1的随机整数。
//console.log(randomNum5);
var randomNum6 = Math.round(Math.random() * 10); // 可基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。
//console.log(randomNum6);
举例:
1、获取最小值与最大值中间的整数随机数
// 获取最小值到最大值之前的整数随机数
function GetRandomNum(Min, Max) {
var Range = Max - Min;
var Rand = Math.random();
return(Min + Math.round(Rand * Range));
}
var num = GetRandomNum(1, 10);
//console.log(num);
2、获取n位随机数,随机组成一串n位长的字符串。
//获取n位随机数,随机来源chars
var chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
function generateMixed(n) {
var res = "";
for(var i = 0; i < n; i++) {
var id = Math.ceil(Math.random() * 35);
res += chars[id];
}
return res;
}
var num1 = generateMixed(6);
//console.log(num1);
3、随机1到三的变量(不包括3)
var num =Math.random()*2+1
4、
用Math类的random()方法产生一个字符,若该字符是一个大写英文字母,则输入 “Yes!”,否则输出“NO”。
random()方法产生的随机数在0.0和1.0之间,乘以128后,其值在0.0和128.0之间,将它转换为char类型后,用if来判断是否在’A’ 和’Z’之间。
function panduan() {
var zimu = Math.round(Math.random() * 128);
console.log(zimu);
var str1 = "A";
var str2 = "Z";
if (zimu >= str1.charCodeAt() && zimu <= str2.charCodeAt()) {
// charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。
console.log("yes!");
} else {
console.log("No!")
}
}
panduan();
总结归纳:
//产生一个[0,1)之间的随机数。
Math.random():
//返回指定范围的随机数(m-n之间)的公式:
Math.random()*(n-m)+m;
或者
Math.random()*(n+1-m)+m