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实现单行文字间歇向上滚动源代码
Jun 02 Javascript
JQuery 文本框回车跳到下一个文本框示例代码
Aug 30 Javascript
使用jquery实现IE下按backspace相当于返回操作
Mar 18 Javascript
js中直接声明一个对象的方法
Aug 10 Javascript
浅析webapp框架AngularUI的demo
Dec 21 Javascript
js数组的操作指南
Dec 28 Javascript
jQuery通过Ajax返回JSON数据
Apr 28 Javascript
JS实现淡蓝色简洁竖向Tab点击切换效果
Oct 06 Javascript
javascript表单处理具体实现代码(表单、链接、按钮)
May 07 Javascript
js实现碰撞检测特效代码分享
Oct 16 Javascript
echarts学习笔记之图表自适应问题详解
Nov 22 Javascript
详解datagrid使用方法(重要)
Nov 06 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
磨咖啡豆的密诀
2021/03/03 冲泡冲煮
php中最简单的字符串匹配算法
2014/12/16 PHP
PHP 实现判断用户是否手机访问
2015/01/21 PHP
PHP入门教程之面向对象基本概念实例分析
2016/09/11 PHP
PHP levenshtein()函数用法讲解
2019/03/08 PHP
PHP全局使用Laravel辅助函数dd
2019/12/26 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
PHP实现简易图形计算器
2020/08/28 PHP
Tips 带三角可关闭的文字提示
2010/10/06 Javascript
jQuery实现可展开折叠的导航效果示例
2016/09/12 Javascript
Vue应用部署到服务器的正确方式
2017/07/15 Javascript
EasyUI实现下拉框多选功能
2017/11/07 Javascript
vue 开发一个按钮组件的示例代码
2018/03/27 Javascript
Vue项目分环境打包的实现步骤
2018/04/02 Javascript
小程序click-scroll组件设计
2019/06/18 Javascript
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
Python算术运算符实例详解
2017/05/31 Python
python合并同类型excel表格的方法
2018/04/01 Python
对pandas里的loc并列条件索引的实例讲解
2018/11/15 Python
pygame实现打字游戏
2021/02/19 Python
使用Pyhton 分析酒店针孔摄像头
2020/03/04 Python
Python爬取梨视频的示例
2021/01/29 Python
苹果中国官方网站:Apple中国
2016/07/22 全球购物
香港通票:Hong Kong Pass
2019/02/26 全球购物
施惠特软件测试面试题以及笔试题
2015/05/13 面试题
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
教师师德承诺书
2014/03/26 职场文书
开展批评与自我批评发言材料
2014/05/15 职场文书
技术股份合作协议书
2014/10/05 职场文书
大学毕业生自我评价
2015/03/02 职场文书
西游记读书笔记
2015/06/25 职场文书
2019年教师节祝福语精选,给老师送上真诚的祝福
2019/09/09 职场文书
Java设计模式中的命令模式
2022/04/28 Java/Android
SQL Server #{}可以防止SQL注入
2022/05/11 SQL Server
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
2022/06/14 Golang