在JavaScript中产生随机数,Math.random()方法

定义和用法:

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

参考博客:点击打开链接          点击打开链接


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值