JS中生成随机数的用法及相关函数
先为大家介绍一些关于随机数的相关函数:
varRand=Math.random();
- 1.Math.random();结果为0-1间的一个随机数(包括0,不包括1)
- 2.Math.floor(num);参数num为一个数值,函数结果为num的整数部分。
- 3.Math.round(num);参数num为一个数值,函数结果为num四舍五入后的整数。
Math:数学对象,提供对数据的数学计算。
Math.random();返回0和1间(包括0,不包括1)的一个随机数。
Math.ceil(n);返回大于等于n的最小整数。
用Math.ceil(Math.random()*10);时,主要获取1到10的随机整数,取0的几率极小。
Math.round(n);返回n四舍五入后整数的值。
用Math.round(Math.random());可均衡获取0到1的随机整数。
用Math.round(Math.random()*10);时,可基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。
Math.floor(n);返回小于等于n的最大整数。
用Math.floor(Math.random()*10);时,可均衡获取0到9的随机整数。
随机抽奖,还可扩展,比如设置抽奖的概率,和数据库一起使用。
//中奖概率需求,100%中奖,有3项奖品,但是抽到书本的概率为20% functiondraw(){ vard_s=GetRandom(100); if(d_s>=1&&d_s<=40){ alert('恭喜您抽到XXX!'); }elseif(d_s>=41&&d_s<=80){ alert('恭喜您抽到XXX!'); }else{ alert('恭喜您抽到书本!'); } }
对应的js生成随机数的函数代码:
<script> 2functionGetRandomNum(Min,Max) { varRange=Max-Min; varRand=Math.random(); return(Min+Math.round(Rand*Range)); } 8varnum=GetRandomNum(1,10); 9alert(num); </script> varchars=['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']; functiongenerateMixed(n){ varres=""; for(vari=0;i<n;i++){ varid=Math.ceil(Math.random()*35); res+=chars[id]; } returnres; }
以上就是本文的详细内容,希望对大家的学习有所帮助。