zoukankan      html  css  js  c++  java
  • 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的正切值
  • 相关阅读:
    学习笔记26_MVC前台强类型参数
    Elasticsearch 和 solr 的区别
    Mysq索引优化(什么情况创建索引,什么情况不创建索引)
    Spring支持的常用数据库传播属性和事务隔离级别
    方法的参数传递机制
    JAVA类初始化和实例初始化
    JAVA设计模式
    CentOS 7 下安装 Nginx 服务,并开机自启动
    JAVA发送xml格式的接口请求
    JAVA接收postman的中raw的参数
  • 原文地址:https://www.cnblogs.com/yxlove/p/4550374.html
Copyright © 2011-2022 走看看