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 相关文章推荐
推荐20家国外的脚本下载网站
Apr 28 Javascript
js用闭包遍历树状数组的方法
Mar 19 Javascript
Javascript学习指南
Dec 01 Javascript
JavaScript节点及列表操作实例小结
Aug 05 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
Sep 14 Javascript
简单理解js的prototype属性及使用
Dec 07 Javascript
js实现图片360度旋转
Jan 22 Javascript
微信小程序 实例开发总结
Apr 26 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
Aug 14 jQuery
vue+php实现的微博留言功能示例
Mar 16 Javascript
JavaScript获取当前url路径过程解析
Dec 27 Javascript
JavaScript实现Tab选项卡切换
Feb 13 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循环检测目录是否存在并创建(循环创建目录)
2011/01/06 PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
2013/08/07 PHP
php将文件夹打包成zip文件的简单实现方法
2016/10/04 PHP
PHP 实现浏览记录并按日期分组
2017/05/11 PHP
详解php中的implements 使用
2017/06/13 PHP
随鼠标上下滚动的jquery代码
2013/12/05 Javascript
javascript实例分享---具有立体效果的图片特效
2014/06/08 Javascript
用js提交表单解决一个页面有多个提交按钮的问题
2014/09/01 Javascript
jQuery源码分析之jQuery中的循环技巧详解
2014/09/06 Javascript
需灵活掌握的Bootstrap预定义排版类 你精通吗?
2016/06/20 Javascript
Javascript中的对象和原型(二)
2016/08/12 Javascript
AngularJS使用拦截器实现的loading功能完整实例
2017/05/17 Javascript
Mac中安装nvm的教程分享
2017/12/11 Javascript
Vue拖拽组件开发实例详解
2018/05/11 Javascript
Koa代理Http请求的示例代码
2018/10/10 Javascript
elementUI多选框反选的实现代码
2019/04/03 Javascript
JavaScript实现简单计算器功能
2019/12/19 Javascript
详解Python中for循环是如何工作的
2017/06/30 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
2019/10/28 Python
在OpenCV里实现条码区域识别的方法示例
2019/12/04 Python
Python交互环境下打印和输入函数的实例内容
2020/02/16 Python
keras .h5转移动端的.tflite文件实现方式
2020/05/25 Python
详解Python 函数参数的拆解
2020/09/02 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
2020/11/02 Python
python实现启动一个外部程序,并且不阻塞当前进程
2020/12/05 Python
CSS3的column-fill属性对齐列内容高度的用法详解
2016/07/01 HTML / CSS
上海中网科技笔试题
2012/02/19 面试题
餐饮业会计岗位职责
2013/12/19 职场文书
电气工程师岗位职责
2014/01/01 职场文书
毕业生代领毕业材料的授权委托书
2014/09/29 职场文书
国际贸易实训报告
2014/11/05 职场文书
酒店客房服务员岗位职责
2015/04/09 职场文书
2015年服务员个人工作总结
2015/05/27 职场文书
CSS中Single Div 绘图技巧的实现
2021/06/18 HTML / CSS
MySQL数据库10秒内插入百万条数据的实现
2021/11/01 MySQL