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 相关文章推荐
javascript 操作文件 实现方法小结
Jul 02 Javascript
Bootstrap教程JS插件弹出框学习笔记分享
May 17 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
Jun 06 Javascript
jQuery实现查找最近父节点的方法
Jun 23 Javascript
jQuery EasyUI Tab 选项卡问题小结
Aug 16 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
Oct 19 Javascript
微信小程序 scroll-view实现锚点滑动的示例
Dec 06 Javascript
Vue+ElementUI实现表单动态渲染、可视化配置的方法
Mar 07 Javascript
js运算符的一些特殊用法
Jul 29 Javascript
vue 项目 iOS WKWebView 加载
Apr 17 Javascript
vue动态注册组件实例代码详解
May 30 Javascript
微信小程序canvas截取任意形状的实现代码
Jan 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_Flame(Version:Progress)的原代码
2006/10/09 PHP
最简单的PHP程序--记数器
2006/10/09 PHP
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
php多功能图片处理类分享(php图片缩放类)
2014/03/14 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
2014/05/15 PHP
php自定文件保存session的方法
2014/12/10 PHP
PHP中把对象转换为关联数组代码分享
2015/04/09 PHP
PHP使用缓存即时输出内容(output buffering)的方法
2015/08/03 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
2015/12/07 PHP
Jquery chosen动态设置值实例介绍
2013/08/08 Javascript
js 操作符汇总
2014/11/08 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
用JS实现图片轮播效果代码(一)
2016/06/26 Javascript
node实现登录图片验证码的示例代码
2018/04/20 Javascript
JS实现可针对算术表达式求值的计算器功能示例
2018/09/04 Javascript
JS面试题大坑之隐式类型转换实例代码
2018/10/14 Javascript
Javascript数组方法reduce的妙用之处分享
2019/06/10 Javascript
JS实现水平遍历和嵌套递归操作示例
2019/08/15 Javascript
layui实现多图片上传并限制上传的图片数量
2019/09/26 Javascript
jQuery实现验证用户登录
2019/12/10 jQuery
vue实现图片懒加载的方法分析
2020/02/05 Javascript
Python入门之modf()方法的使用
2015/05/15 Python
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
2016/03/30 Python
python cx_Oracle模块的安装和使用详细介绍
2017/02/13 Python
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
python爬虫之验证码篇3-滑动验证码识别技术
2019/04/11 Python
python导入库的具体方法
2020/06/18 Python
NYX Professional Makeup英国官网:美国平价专业彩妆品牌
2019/11/13 全球购物
解释一下钝化(Swap out)
2016/12/26 面试题
机关单位动员会主持词
2014/03/20 职场文书
生育关怀行动实施方案
2014/03/26 职场文书
《长城和运河》教学反思
2014/04/14 职场文书
环保宣传标语
2014/06/12 职场文书
小学红领巾广播稿(3篇)
2014/09/13 职场文书
2014年教学管理工作总结
2014/12/02 职场文书
公司总经理岗位职责
2015/04/01 职场文书