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 相关文章推荐
解决json日期格式问题的3种方法
Feb 02 Javascript
js调用百度地图及调用百度地图的搜索功能
Sep 07 Javascript
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
Sep 20 Javascript
详解vue 组件之间使用eventbus传值
Oct 25 Javascript
mac上配置Android环境变量的方法
Jul 08 Javascript
vue项目中,main.js,App.vue,index.html的调用方法
Sep 20 Javascript
jQuery实现左右两个列表框的内容相互移动功能示例
Jan 27 jQuery
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
May 01 Javascript
JavaScript函数式编程(Functional Programming)声明式与命令式实例分析
May 21 Javascript
layui默认选中table的CheckBox复选框方法
Sep 19 Javascript
JS使用正则表达式提交页面验证的代码
Oct 16 Javascript
vue 使用post/get 下载导出文件操作
Aug 07 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
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
2013/06/01 PHP
php根据分类合并数组的方法实例详解
2013/11/06 PHP
php的一个简单加密解密代码
2014/01/14 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
jQuery中判断一个元素是否为另一个元素的子元素(或者其本身)
2012/03/21 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
JavaScript初学者建议:不要去管浏览器兼容
2014/02/04 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
详细分析JavaScript函数定义
2015/07/16 Javascript
浅析nodejs实现Websocket的数据接收与发送
2015/11/19 NodeJs
BootStrap和jQuery相结合实现可编辑表格
2016/04/21 Javascript
jQuery实现iframe父窗体和子窗体的相互调用
2016/06/17 Javascript
JavaScript实现垂直向上无缝滚动特效代码
2016/11/23 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
Vue.js 2.0 移动端拍照压缩图片上传预览功能
2017/03/06 Javascript
js实现控制文件拖拽并获取拖拽内容功能
2018/02/17 Javascript
vue实现的上传图片到数据库并显示到页面功能示例
2018/03/17 Javascript
Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果
2018/07/27 Javascript
vue项目中引入vue-datepicker插件的详解
2019/05/14 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
2020/05/18 Javascript
[02:20]DOTA2英雄基础教程 黑暗贤者
2013/12/19 DOTA
[02:33]DOTA2英雄基础教程 司夜刺客
2013/12/04 DOTA
python逐行读取文件内容的三种方法
2014/01/20 Python
浅谈python 导入模块和解决文件句柄找不到问题
2018/12/15 Python
Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】
2018/12/26 Python
Pytorch 实现focal_loss 多类别和二分类示例
2020/01/14 Python
Python+appium框架原生代码实现App自动化测试详解
2020/03/06 Python
Python调用接口合并Excel表代码实例
2020/03/31 Python
澳大利亚游乐场设备品牌:Lifespan Kids
2019/05/24 全球购物
酒店总经理工作职责
2013/12/13 职场文书
公司周年庆典邀请函
2014/01/12 职场文书
关于安全的标语
2014/06/10 职场文书
三年级学生评语大全
2014/12/26 职场文书
安全责任书
2015/01/29 职场文书
商超业务员岗位职责
2015/02/13 职场文书
3招让你摆脱即兴讲话冷场尴尬
2019/08/08 职场文书