• 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的正切值
  • 相关阅读:
    基于ZYNQ XC7Z045 FFG 900的高性能计算模块
    linux TCP数据包封装在SKB的过程分析
    关于 linux中TCP数据包(SKB)序列号的小笔记
    TCP的TIME_WAIT状态
    Linux-2.6.25 TCPIP函数调用大致流程
    Linux 下不经过BIOS重启(i386)
    Linux块设备加密之dm-crypt分析
    Device Mapper 代码分析
    Linux 下的一个全新的性能测量和调式诊断工具 Systemtap, 第 3 部分: Systemtap
    Linux 下的一个全新的性能测量和调式诊断工具 Systemtap, 第 2 部分: DTrace
  • 原文地址:https://www.cnblogs.com/yxlove/p/4550374.html
Copyright © 2020-2023  润新知