5.7.2.4 random() 方法
Math.random()方法返回大于等于0小于1的一个随机数。对于某些站点来说,这个方法非常实用,因为可以利用它来随机显示一些名人名言和新闻事件。套用下面的公式,就可以利用Math.random()从某个整数范围内随机选择一个值。
值 = Math.random.floor(Math.random()*可能值得总数+第一可能的值)
公式中用到了Math.floor()方法,这是因为Math.random()总返回一个小数值。而用这个小数值乘以一个整数,然后再加上一个整数,最总结果仍然还是一个小数。例如:
var num = Math.floor(Math.random()*10+1);
总共有10个可能的值,而第一个可能是1。而如果想要选择一个介于2到10之间的值,就应该将代码改成如下这样:
var num = Math.floor(Math.random()*9+2);
从2数到10要数9个数,因此可能值得总数是9,而第一个可能的值是2。多数情况下,其实都可以通过一个函数来计算可能值得总数和第一个可能的值,例如:
function selecFrom(lowerValue,upperValue)
{
var choices = upperValue - lowerValue + 1;
return Math.floor(Math.random() * choices + lowerValue);
} var num = selectForm(2,10); alert(num); //介于2和10之间(包括2和10)的一个数值
函数selectFrom()接受两个参数,应该返回的最小值和最大值。而用最大值减最小值再加1得到了可能值得总数,然后它又把这些数值套用到了前面的公式中。这样,通过调用selectFrom(2,10)就可以得到一个介于2和10之间(包含2和10)的数值了。利用这个函数,可以方便的从数组中随机取出一项,例如:
var colors = ["red","blue","orange","teal"]; var color = colors[selectFrom(0,colors.length-1)]; alert(color); //可能是数组中的任意一个字符串
在这个例子中,传递给selectFrom()的第二个参数是数组的长度减1,也就是数组中最后一项的位置。
其他方法
Math对象中还包含其他一些与完成各种简单活复杂计算有关的方法。见下表:
| 方 法 | 说 明 | 方 法 | 说 明 |
| Math.abs(num) | 返回num的绝对值 | Math.asin(x) | 返回x的反正弦值 |
| Math.exp(num) | 返回Math.E的num次幂 | Math.atan(x) | 返回x的反正切值 |
| Math.log(num) | 返回num的自然数 | Math.atan2(y,x) | 返回y/x反正切值 |
| Math.pow(num,power) | 返回num的power次幂 | Math.cos(x) | 返回x的余弦值 |
| Math.sqrt(num) | 返回num的平方根 | Math.sin(x) | 返回x的正弦值 |
| Math.acos(x) | 返回x的反余弦值 | Math.tan(x) | 返回x的正切值 |
5.7.2.4 random() 方法的更多相关文章
- JavaScript中的内置对象-8--3.Math-Math对象的方法-min()- max()- ceil() - floor()- round()- abs(); Math对象的random()方法;
JavaScript内置对象-3.Math(数值) 学习目标 1.掌握Math对象的方法: min() max() ceil() floor() round() abs() Math.min() 语法 ...
- Random类和Math.random()方法
一.Random类的定义Random类位于 java.util 包中,主要用于生成伪 随机数Random类将 种子数 作为随机算法的起源数字,计算生成伪随机数,其与生成的随机数字的区间无关创建Rand ...
- JS对象随机数 random() 方法可返回介于 0 ~ 1(大于或等于 0 但小于 1 )之间的一个随机数。 注意:返回一个大于或等于 0但小于1的符号为正的数值
随机数 random() random() 方法可返回介于 0 ~ 1(大于或等于 0 但小于 1 )之间的一个随机数. 语法: Math.random(); 注意:返回一个大于或等于 0 但小于 1 ...
- Math类的random()方法
Math类的random()方法 Math类的random()方法可以生成大于等于0.0.小于1.0的double型随机数. Math.random()方法语句基础上处理可获得多种类型.或任意范围的随 ...
- Java基础知识强化81:Math类random()方法之获取任意范围的随机数案例(面试题)
1. 需求:设计一个方法,可以实现获取任意范围内的随机数 分析:使用方法random()如下: public static double random() 注:Returns a pseudo-ran ...
- Java基础知识强化80:Math类random()方法的小扩展(控制产生目的数字的概率)
1. Math.random()方法: Math.random()出现的数据是0.0<= x < 1.0之间,随机出现一个数据Math.random()>0.1概率是0.9 那么如下 ...
- Random方法中的nextInt(int arg0)方法讲解
nextInt方法会生成一个随机的在5以内的数,负载均衡随机策略底层用的就是这个方法: Random rand = new Random(); int index = rand.nextInt(5); ...
- Random()方法的使用
import java.util.*;public class RandomTest { public static void main(String[] args) { double i = Ma ...
- Java利用Math.random()方法随机生成A-Z的字符
package reverse; import java.text.DecimalFormat; public class Reverse { public static void main(Stri ...
随机推荐
- Mongodb 权限管理
- create a (VSTO) Office 2007 add-in using VS 2012?
You can get VS 2012 working with Office 2007. First create an Outlook 2010 Add-In and modify the pro ...
- iOS程序启动原理(简单)
1.执行main -> 执行UIApplicationMain UIApplicationMain底层实现 1.创建UIApplication对象 2.创建UIApplication代理对象 3 ...
- leetcode Search Insert Position Python
#Given a sorted array and a target value, return the index if the target is found. If #not, return t ...
- Demo 示例控制输入光标位置
<!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <meta name="aut ...
- phpcms自定义分页
在global.func.php中找到分页函数function pages($num, $curr_page, $perpage = 20, $urlrule = '', $array = array ...
- jQuery1.9.1针对checkbox的调整
在jquery 1.8.x中的版本,我们对于checkbox的选中与不选中操作如下: 判断是否选中 $('#checkbox').prop('checked') 设置选中与不选中状态: $('#che ...
- Linux网络管理——端口作用
1. 网络基础 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB",&q ...
- Linux 如何打开端口
举例: 开放10000端口的解决步骤如下: 1.修改/etc/sysconfig/iptables文件,增加如下一行: -A RH-Firewall-1-INPUT -m state --state ...
- CSS---input标签注意
总结一下,在给input标签写CSS时需要注意的有以下几点: 一.不要给属性为text的input标签设置高度,这样无法让IE浏览器下输入框中的文字垂直居中显示.尽管你后来想要通过设置padding属 ...