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的简单实现折叠菜单代码
Sep 15 Javascript
jquery form 加载数据示例
Apr 21 Javascript
使用JQuery在线制作ppt并在线演示源码特效
Sep 08 Javascript
Ubuntu系统下Angularjs开发环境安装
Sep 01 Javascript
AngularJs bootstrap详解及示例代码
Sep 01 Javascript
js中获取键盘事件的简单实现方法
Oct 10 Javascript
微信小程序(三):网络请求
Jan 13 Javascript
vue 项目常用加载器及配置详解
Jan 22 Javascript
vue: WebStorm设置快速编译运行的方法
Oct 18 Javascript
ES6知识点整理之对象解构赋值应用示例
Apr 17 Javascript
JavaScript提升机制Hoisting详解
Oct 23 Javascript
Vue父组件向子组件传值以及data和props的区别详解
Mar 02 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
PHP5在Apache下的两种模式的安装
2006/09/05 PHP
PHP DataGrid 实现代码
2009/08/12 PHP
PHP生成唯一的促销/优惠/折扣码(附源码)
2012/12/28 PHP
php 判断是否是中文/英文/数字示例代码
2013/09/30 PHP
PHP中通过fopen()函数访问远程文件示例
2014/11/18 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
PHP设计模式入门之迭代器模式原理与实现方法分析
2020/04/26 PHP
jquery tools之tabs 选项卡/页签
2009/07/25 Javascript
apycom出品的jQuery精美菜单破解方法
2011/02/18 Javascript
30个精美的jQuery幻灯片效果插件和教程
2011/08/23 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
2012/02/13 Javascript
javascript表单验证 - Parsley.js使用和配置
2013/01/25 Javascript
JavaScript的漂亮的代码片段
2013/06/05 Javascript
JS实现适合于后台使用的动画折叠菜单效果
2015/09/21 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
BootStrap table使用方法分析
2016/11/08 Javascript
jQuery实现广告条滚动效果
2017/08/22 jQuery
vue中如何实现pdf文件预览的方法
2018/07/12 Javascript
webpack+vue-cil中proxyTable处理跨域的方法
2018/07/20 Javascript
分享vue里swiper的一些坑
2018/08/30 Javascript
clipboard在vue中的使用的方法示例
2018/10/19 Javascript
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
Vue 实现从文件中获取文本信息的方法详解
2019/10/16 Javascript
解决vue初始化项目一直停在downloading template的问题
2020/11/09 Javascript
Python使用Supervisor来管理进程的方法
2015/05/28 Python
Python简单计算数组元素平均值的方法示例
2017/12/26 Python
Python实现获取前100组勾股数的方法示例
2018/05/04 Python
使用python判断你是青少年还是老年人
2018/11/29 Python
Numpy中对向量、矩阵的使用详解
2019/10/29 Python
PyCharm中配置PySide2的图文教程
2020/06/18 Python
html5的websockets全双工通信详解学习示例
2014/02/26 HTML / CSS
校庆活动方案
2014/03/31 职场文书
高中生期中考试失利检讨书
2014/10/23 职场文书
安阳殷墟导游词
2015/02/10 职场文书
2016七夕情人节感言
2015/12/09 职场文书
Python使用PyYAML库读写yaml文件的方法
2022/04/06 Python