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 相关文章推荐
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
Mar 06 Javascript
使用隐藏的new来创建对象
Mar 29 Javascript
JavaScript NaN和Infinity特殊值 [译]
Sep 20 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
Sep 23 Javascript
使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目
Feb 15 Javascript
浅谈DOCTYPE对$(window).height()取值的影响
Jul 21 Javascript
微信公众号 客服接口的开发实例详解
Sep 28 Javascript
React Native第三方平台分享的实例(Android,IOS双平台)
Aug 04 Javascript
jQuery实现菜单栏导航效果
Aug 15 jQuery
Angularjs中ng-repeat的简单实例
Aug 25 Javascript
JavaScript的词法结构精华篇
Oct 17 Javascript
详谈vue中router-link和传统a链接的区别
Jul 22 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
异世界新番又来了,同样是从零开始,男主的年龄降到5岁
2020/04/09 日漫
牡丹941资料
2021/03/01 无线电
让CodeIgniter数据库缓存自动过期的处理的方法
2014/06/12 PHP
CI框架装载器Loader.php源码分析
2014/11/04 PHP
php需登录的文件上传管理系统
2020/03/21 PHP
Smarty简单生成表单元素的方法示例
2016/05/23 PHP
PHP将身份证正反面两张照片合成一张图片的代码
2017/04/08 PHP
PHP基于新浪IP库获取IP详细地址的方法
2017/05/04 PHP
javascript在一段文字中的光标处插入其他文字
2007/08/26 Javascript
纯CSS打造的导航菜单(附jquery版)
2010/08/07 Javascript
nodejs实用示例 缩址还原
2010/12/28 NodeJs
从盛大通行证上摘下来的身份证验证js代码
2011/01/11 Javascript
javascript-表格排序(降序/反序)实现介绍(附图)
2013/05/30 Javascript
javaScript NameSpace 简单说明介绍
2013/07/18 Javascript
jQuery 选择器详解
2015/01/19 Javascript
高性能JavaScript 重排与重绘(2)
2015/08/11 Javascript
jquery实现加载进度条提示效果
2015/11/23 Javascript
遍历js中对象的属性和值的实例
2016/11/21 Javascript
微信小程序 数据交互与渲染实例详解
2017/01/21 Javascript
ES6生成器用法实例分析
2017/04/10 Javascript
微信小程序实现列表下拉刷新上拉加载
2020/07/29 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
2019/01/31 Javascript
基于javascript处理二进制图片流过程详解
2020/06/08 Javascript
js实现点击上传图片并设为模糊背景
2020/08/02 Javascript
vue3自定义dialog、modal组件的方法
2021/01/04 Vue.js
Django基于ORM操作数据库的方法详解
2018/03/27 Python
导入tensorflow时报错:cannot import name 'abs'的解决
2019/10/10 Python
Pycharm操作Git及GitHub的步骤详解
2020/10/27 Python
印尼披萨外送专家:Domino’s Pizza印尼
2017/12/28 全球购物
美国精油公司:Plant Therapy
2019/05/17 全球购物
药学专业大专生的自我评价
2013/12/12 职场文书
追悼会主持词
2014/03/20 职场文书
私人委托书格式
2014/09/10 职场文书
信用卡工作证明范本
2015/06/19 职场文书
总结一下关于在Java8中使用stream流踩过的一些坑
2021/06/24 Java/Android
HTML 里 img 元素的 src 和 srcset 属性的区别详解
2023/05/21 HTML / CSS