javascript中的math.random()用法是什么-LMLPHP

本文操作环境:windows7系统、javascript1.8.5版、DELL G3电脑

javascript中Math.random()使用详解

Math.random() 这个方法相信大家都知道,是用来生成随机数的。不过一般的参考手册时却没有说明如何用这个方法来生成指定范围内的随机数。这次我就来详细的介绍一下Math.random(),以及如何用它来生成制定范围内的随机数。

Math.random()方法返回大于等于 0 小于 1 的一个随机数。对于某些站点来说,这个方法非常实用,因为可以利用它来随机显示一些名人名言和新闻事件。

1. 在连续整数中取得一个随机数

值 = Math.floor(Math.random() * 可能值的总数 + 第一个可能的值)

例:产生1-10的随机数

代码如下:

var rand1 = Math.floor(Math.random() * 10 + 1);
登录后复制

编写产生startNumber至endNumber随机数的函数

代码如下:

function selectFrom(startNumber, endNumber) {
    var choice = endNumber - startNumber + 1;
    return Math.floor(Math.random() * choice + startNumber)
}
var rand2 = selectFrom(2,8);//产生2至8的随机数
登录后复制

2. 在不相邻整数中取得一个随机数

2.1 在不相邻的两个整数中取得一个随机数

例:随机产生2或4中的一个数

代码如下:

var rand3 = Math.random() < 0.5 ? 2 : 4;
登录后复制

2.2 在不相邻的多个整数中产生一个随机数

结合函数参数数组,可编写在不相邻的多个整数中产生一个随机值的函数

代码如下:

function selectFromMess() {
    return arguments[Math.floor(Math.random() * arguments.length)]
}
//随机产生1、6、8中的一个数
var rand4 = selectFromMess(1, 6, 8);
//也可随机产生文本
var randomTxt1 = selectFromMess("安慰奖", "二等奖", "一等奖");
登录后复制

每次要输入这么多参数比较麻烦,可以改写一下函数

代码如下:

function selectFromMessArray(arr) {
    return arr[Math.floor(Math.random() * arr.length)]
}
var arrayTxt=["一","二","三","四","五"];
var randTxt2 = selectFromMessArray(arrayTxt);
登录后复制

或者不改变原有方法,可以利用apply()这个方法传递数组参数

复制代码代码如下:

var randTxt3 = selectFromMess.apply(null,arrayTxt);
登录后复制

推荐学习:《javascript基础教程

以上就是javascript中的math.random()用法是什么的详细内容,更多请关注Work网其它相关文章!

09-15 22:14