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解析xml字符串示例分享
Mar 25 Javascript
使用JavaScript实现旋转的彩圈特效
Jun 23 Javascript
有关Promises异步问题详解
Nov 13 Javascript
js过滤HTML标签完整实例
Nov 26 Javascript
辨析JavaScript中的Undefined类型与null类型
May 26 Javascript
js简单正则验证汉字英文及下划线的方法
Nov 28 Javascript
JS调用Android、Ios原生控件
Jan 06 Javascript
jQuery插件zTree实现清空选中第一个节点所有子节点的方法
Mar 08 Javascript
原生js实现简单的焦点图效果实例
Dec 14 Javascript
vue强制刷新组件的方法示例
Feb 28 Javascript
详解vue中使用微信jssdk
Apr 19 Javascript
vue 组件简介
Jul 31 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
php缩小png图片不损失透明色的解决方法
2013/12/25 PHP
高质量PHP代码的50个实用技巧必备(下)
2016/01/22 PHP
round robin权重轮循算法php实现代码
2016/05/28 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
PHP Swoole异步读取、写入文件操作示例
2019/10/24 PHP
Prototype使用指南之selector.js
2007/01/10 Javascript
jQuery学习2 选择器的使用说明
2010/02/07 Javascript
心扬JS分页函数代码
2010/09/10 Javascript
为原生js Array增加each方法
2012/04/07 Javascript
HTML复选框和单选框 checkbox和radio事件介绍
2012/12/12 Javascript
JS实现点击按钮自动增加一个单元格的方法
2015/03/09 Javascript
简介AngularJS的HTML DOM支持情况
2015/06/17 Javascript
Angular 作用域scope的具体使用
2017/12/11 Javascript
详解node.js中的npm和webpack配置方法
2018/01/21 Javascript
webpack中使用iconfont字体图标的方法
2018/02/22 Javascript
vue实现通讯录功能
2018/07/14 Javascript
js实现树形数据转成扁平数据的方法示例
2020/02/27 Javascript
[01:46]2020完美世界全国高校联赛秋季赛报名开启
2020/10/15 DOTA
Python2中的raw_input() 与 input()
2015/06/12 Python
python利用正则表达式提取字符串
2016/12/08 Python
Python 2与Python 3版本和编码的对比
2017/02/14 Python
Python实现图片尺寸缩放脚本
2018/03/10 Python
Django如何配置mysql数据库
2018/05/04 Python
tensorflow更改变量的值实例
2018/07/30 Python
浅析Python 实现一个自动化翻译和替换的工具
2019/04/14 Python
python实现几种归一化方法(Normalization Method)
2019/07/31 Python
使用python实现kNN分类算法
2019/10/16 Python
python不相等的两个字符串的 if 条件判断为True详解
2020/03/12 Python
Python matplotlib绘制图形实例(包括点,曲线,注释和箭头)
2020/04/17 Python
浅谈TensorFlow中读取图像数据的三种方式
2020/06/30 Python
如何基于pandas读取csv后合并两个股票
2020/09/25 Python
Linden Leaves官网:新西兰纯净护肤品
2020/12/20 全球购物
大学生创业感言
2014/01/25 职场文书
学习型党组织建设经验材料
2014/05/26 职场文书
社区党员志愿服务活动方案
2014/08/18 职场文书
家庭贫困证明
2015/06/16 职场文书