给证件照换背景 证照之星轻松办到 在办理证件的时候,都需要上交证件照,但是对证件照每次不同的要求,往往要求我们去多次拍摄证件照。在这种情况下,我们可以学习如何自己处......
2016-10-14 200 证照之星
在 Javascript 中,生成随机数也有内置函数,即生成随机数函数 random();此外,还可以借住日期 Date 生成随机数。除了上述2个产生随机数的方法,还可以用它们与数组结合,产生指定范围的特殊随机数,以满足特殊需要。
Javascritp 中的 Math.random() 方法,生成的是一个0到1之间的浮点数(小数),而不像 C# 中的 Random() 方法可任意指定生成随机数范围。所以用 random 生成浮点数后,需要乘一个相应的值并且还要借住 Math 的其它方法帮助生成随机数。
1、用 Math.floor(Math.random()) 生成随机数
Math.floor(Math.random() * 100); //生成0到99的随机数
Math.floor(Math.random() * 100 + 1); //生成1到100的随机数
2、用 Math.ceil(Math.random()) 生成随机数
Math.ceil(Math.random() * 100); //生成1到100的随机数
相关说明:
Math.floor() 方法是取地板(即向下取整),如 Math.floor(6.6) = 6;
Math.ceil() 方法是取天花板(即向上取整),如 Math.ceil(6.6) = 7。
3、用 parseInt(Math.random()) 生成随机数
parseInt(Math.random() * 100); //生成0到99的随机数
parseInt(Math.random() * 100 + 1); //生成1到100的随机数
4、生成指定范围随机数
由于 Javascript 没有提供直接生成指定范围随机数,所以得自己实现,方法如下:
Math.floor(Math.random() * (上限 - 下限 + 1) + 下限);
Math.ceil(Math.random() * (上限 - 下限) + 下限);
parseInt(Math.random() * (上限 - 下限 + 1) + 下限);
选择其中一个方法封装成函数如下:
//under:上限;over:下限
function getRandom(under, over) {
switch (arguments.length) {
case 1: return Math.ceil(Math.random() * under);
case 2: return Math.ceil(Math.random() * (over - under) + under);
default: return 0;
}
}
调用方法:
getRandom(100);//生成1到100的随机数
getRandom(100, 200);//生成100到200的随机数
var d = new Date();
var n = d.getSeconds(); //生成0到59的随机数
var n1 = d.getMilliseconds(); //生成0到999的随机数
var n2 = d.getMilliseconds() % 201; //生成0到200的随机数
除了取 Date 的秒和微秒外,还可以取小时和分钟(跟取秒生成的随机数相同)。
有的时候,规定生成的随机数只能取一些任意指定的值;此时,再用上述方法无法满足要求,需要把任意指定的值保存到数组中,然后通过生成的随机数(数组下标)来取数组中的值,实现代码如下:
function getRandom(arr)
{
var n = Math.ceil(Math.random() * (arr.length - 1));
return arr[n];
}
调用方法:
var arr = [ "18", "23", "26", "32", "46", "56" ];
getRandom(arr);
标签: Js生成随机数
相关文章
给证件照换背景 证照之星轻松办到 在办理证件的时候,都需要上交证件照,但是对证件照每次不同的要求,往往要求我们去多次拍摄证件照。在这种情况下,我们可以学习如何自己处......
2016-10-14 200 证照之星
在好莱坞科幻、战争类大片中,经常能看到酷炫的金属字体片名,还常常伴有火花飞溅,特别吸引眼球。这类字体的创建,对于PS来说并非不可完成的任务,本篇教程就跟大家分享一下......
2016-11-27 200 photoshop photoshop源代码 photoshop技巧
MES是什么意思? 制造执行系统(Manufacturing Execution System,简称MES)是一套面向制造企业车间执行层的生产信息化管理系统。MES可以为企业提供包括制造数据管理、计划排程管理、生产调......
2023-05-22 214 MES
Autodesk正式宣布向全球所有学生、教师和教育机构下的学校免费提供旗下所有收费软件,包括AutoCAD、Sketchbook、3D Max和Maya等。不同于30天免费试用版,教育版是真正的免费正版。下面安下......
2016-10-04 205 Autodesk