JS中生成随机数的用法及相关函数


Posted in Javascript onJanuary 09, 2016

先为大家介绍一些关于随机数的相关函数:
var Rand = 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%
function draw() {
  var d_s = GetRandom(100);
  if (d_s >= 1 && d_s <= 40) {
    alert('恭喜您抽到XXX!');
  } else if (d_s >= 41 && d_s <= 80) {
    alert('恭喜您抽到XXX!');
  } else {
    alert('恭喜您抽到书本!');
  }
}

对应的js生成随机数的函数代码:

<script> 
 2function GetRandomNum(Min,Max)
{  
  var Range = Max - Min;  
  var Rand = Math.random();  
  return(Min + Math.round(Rand * Range));  
}  
 8var num = GetRandomNum(1,10);  
 9alert(num);  
</script>

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;
}

以上就是本文的详细内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
jquery click([data],fn)使用方法实例介绍
Jul 08 Javascript
jquery中常用的SET和GET$(”#msg”).html循环介绍
Oct 09 Javascript
js实现网页右上角滑出会自动消失大幅广告的方法
Feb 27 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
Mar 18 Javascript
实例详解AngularJS实现无限级联动菜单
Jan 15 Javascript
Bootstrap table使用方法详细介绍
Dec 09 Javascript
Angular项目中$scope.$apply()方法的使用详解
Jul 26 Javascript
详解VUE自定义组件中用.sync修饰符与v-model的区别
Jun 26 Javascript
layui前端框架之table表数据的刷新方法
Aug 17 Javascript
iView框架问题整理小结
Oct 16 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
Jul 03 jQuery
Vue computed 计算属性代码实例
Apr 22 Javascript
JavaScript电子时钟倒计时
Jan 09 #Javascript
bootstrap-treeview自定义双击事件实现方法
Jan 09 #Javascript
WordPress中利用AJAX异步获取评论用户头像的方法
Jan 08 #Javascript
学习JavaScript设计模式之状态模式
Jan 08 #Javascript
jQuery CSS3相结合实现时钟插件
Jan 08 #Javascript
js实现对ajax请求面向对象的封装
Jan 08 #Javascript
javascript弹性运动效果简单实现方法
Jan 08 #Javascript
You might like
jQuery 源码分析笔记
2011/05/25 PHP
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
php实现的xml操作类
2016/01/15 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
2017/05/24 PHP
laravel框架之数据库查出来的对象实现转化为数组
2019/10/23 PHP
如果文字过长,则将过长的部分变成省略号显示
2006/06/26 Javascript
js实现弹窗插件功能实例代码分享
2013/12/12 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
2015/02/05 Javascript
JavaScript中var关键字的使用详解
2015/08/14 Javascript
JS+CSS实现六级网站导航主菜单效果
2015/09/28 Javascript
分享使用AngularJS创建应用的5个框架
2015/12/05 Javascript
Javascript点击其他任意地方隐藏关闭DIV实例
2016/06/21 Javascript
jQuery插件echarts实现的单折线图效果示例【附demo源码下载】
2017/03/04 Javascript
webpack 插件html-webpack-plugin的具体使用
2018/04/09 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
vue路由切换时取消之前的所有请求操作
2020/09/01 Javascript
javascript实现固定侧边栏
2021/02/09 Javascript
nodejs处理tcp连接的核心流程
2021/02/26 NodeJs
Python实现的桶排序算法示例
2017/11/29 Python
pandas 使用apply同时处理两列数据的方法
2018/04/20 Python
Python 利用pydub库操作音频文件的方法
2019/01/09 Python
pandas分区间,算频率的实例
2019/07/04 Python
pandas分批读取大数据集教程
2020/06/06 Python
浅谈pandas dataframe对除数是零的处理
2020/07/20 Python
CSS3属性使网站设计增强同时不消弱可用性
2009/08/29 HTML / CSS
世界最大的海报和艺术印刷商店:AllPosters.com
2017/02/01 全球购物
土耳其时尚购物网站:Morhipo
2017/09/04 全球购物
比驿:全球酒店比价网
2018/06/20 全球购物
法国在线购买汽车轮胎网站:123pneus.fr
2019/02/25 全球购物
学院书画协会部门职责
2013/11/28 职场文书
实习生单位鉴定意见
2013/12/04 职场文书
目标管理责任书
2014/04/15 职场文书
人事任命通知
2015/04/20 职场文书
小学数学教师研修感悟
2015/11/18 职场文书
信息技术课教学反思
2016/02/23 职场文书
react中的DOM操作实现
2021/06/30 Javascript