前言

用到随机数的地方还是挺多的,如有些网站为了吸引用户就会对网站文章的点赞数,评论数,阅读数等等作出一个可观的数字,让别人看起来觉得不点都不舒服,虽然把随机数用到这里有点不好,但这种现象确确实实存在于我们的生活中。随机数除了这个用途外,其实还有很多方面会用到它。下面我们变来了解下如何通过 JavaScript 生成一个随机数。

相关方法

在说随机数之前我们先来了解JavaScript 中的几个简单的方法。

Math.random()Math.round()parseInt()Math.floor()Math.ceil()。没错就是这四个方法,你只需要把它们作简单的组合,就可以实现随机数了。

Math.random()方法可返回介于 0 ~ 1 之间的一个随机数。

Math.round(x):这个方法就是我们数学中的四舍五入法。x为必需,且必须是数字。

parseInt(string, radix)函数可解析一个字符串,返回一个整数。

String为必需值,即要被解析的字符串。

radix:为可选值,表示要解析的数字的基数。该值介于 2 ~ 36 之间。 如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

Math.floor(x):x为必需值,可以是任意数值或表达式。floor() 方法可对一个数进行下舍入也就是我们常常说的向上取整。

Math.ceil(x): x为必需值,且必须是一个数值。ceil() 方法可对一个数进行上舍入

生成随机数

好了,有了上面的铺垫,我们现在就可以来聊聊随机数了。

0~1

产生一个0到1的随机数(包括0,不包含1)

var rNum = Math.random();

0或1

产生一个0或者1的随机数

var rNum = Math.round(Math.random());

1~10

产生一个1到10的随机数

var rNum = Math.ceil(Math.random()*10);

ceil()方法作用就是向上取整。

0~10

利用Math.round()方法的特性,我们可以通过它来产生一个0到10的随机数

var rNum = Math.round(Math.random()*10);

0~n

同样的,我们可以以此类推,生成一个0到n的随机数

var rNum = Math.round(Math.random()*n);

你可以通过更改 n 来生成一个指定区间的随机数。

n~m

生成一个特定区间的随机数

var rNum = Math.floor(Math.random()*(max-min+1)+min); //方法一
var rNum = Math.ceil(Math.random()*(max-min)+min); //方法二

max:最大值,min:最小值。

封装函数

为让方便日后使用,我们也可以对上面的代码进行封装,如:

function randomNum(min,max) {
    var rNum = Math.ceil(Math.random()*(max-min)+min);
    return rNum;
}