zoukankan      html  css  js  c++  java
  • Math对象产生随机数一个小应用

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>demo-color</title>
    <link rel="stylesheet" href="http://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
    <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="http://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
    <style type="text/css">
    .c-wq-kucao{background-color: #E4DC8B;}
    .c-wq-shizhu{background-color: #E5ACBF;}
    .c-wq-luoli{background-color: #772F09;}
    .c-wq-qiangqingci{background-color: #A6C7B2;}
    .c-wq-jiuyuzi{background-color: #94859C;}
    .c-wq-liumeizhucha{background-color: #5B6356;}
    .c-wq-yuanzhoushu{background-color: #CA8269;}
    .c-wq-sufang{background-color: #9D3D3F;}
    
    </style>
    </head>
    <body>
    
    <p id="demo" class="c-wq-liumeizhucha" style="margin-bottom: 100px; 100vw; height: 5vh;"></p>
    <button id="btn">点我</button>
    
    <script>
    
    /**
    * [selectForm 产生一个确定区间内的随机整数]
    * @param {[number]} lowerValue [最小值]
    * @param {[number]} upperValue [最大值]
    * @return {[number]} [在一个区间内的随机整数]
    */
    function selectForm(lowerValue, upperValue){
    var choice = upperValue - lowerValue + 1;
    return Math.floor(Math.random()*choice + lowerValue);
    }
    
    //eg:
    var num = selectForm(2, 10);
    alert(num); //介于2和10之间(包括2和10)的一个值
    
    //应用
    var allClass = ['c-wq-kucao', 'c-wq-shizhu', 'c-wq-luoli', 'c-wq-qiangqingci', 'c-wq-jiuyuzi', 'c-wq-liumeizhucha', 'c-wq-sufang'];
    
    $("#btn").on("click", function(){
    var selClass = allClass[selectForm(0, allClass.length - 1)];
    $("#demo").attr("class", selClass); //点击变色
    })
    
    </script>
    </body>
    </html>

    Math对象

    Math 也是一个内置对象, 为数学常量和数学函数提供了属性和方法,而不是一个函数对象。

    与其它全局对象不同的是, Math 不是一个构造器. Math 的所有属性和方法都是静态的. 你用到的常数pi可以用 Math.PI 表示,用 x 作参数 Math.sin(x)调用sin函数. JavaScript中的常数, 是以全精度的实数定义的.

    属性:

    Math.E
    欧拉常数,也是自然对数的底数, 约等于 2.718.
    Math.LN2
    2的自然对数, 约等于0.693.
    Math.LN10
    10的自然对数, 约等于 2.303.
    Math.LOG2E
    以2为底E的对数, 约等于 1.443.
    Math.LOG10E
    以10为底E的对数, 约等于 0.434.
    Math.PI
    圆周率,一个圆的周长和直径之比,约等于 3.14159.
    Math.SQRT1_2
    1/2的平方根, 约等于 0.707.
    Math.SQRT2
    2的平方根,约等于 1.414.

    方法:

    需要注意的是:
    三角函数(sin(), cos(), tan(),asin(), acos(), atan(), atan2())是以弧度返回值的。可以通过除法(Math.PI / 180)把弧度转换为角度,也可以通过其他方法来转换。
    很多数学函数都有一个精度,并且精度在不同环境下也是不相同的。这就意味着不同的浏览器会给出不同的结果,甚至相同的 JS 引擎在不同的OS或者架构下也会给出不同的结果。

    Math.ceil(x)
    返回x向上取整后的整数值.
    Math.floor(x)
    返回x向下取整后的整数值.。
    Math.round(x)
    返回四舍五入后的整数.
    Math.sqrt(x)
    返回x的平方根.如果参数 number 为负值,则 sqrt 返回 NaN。
    Math.tan(x)
    返回x的正切值,x表示一个角(单位:弧度)
    Math.abs(x)
    返回x的绝对值.传入一个非数字形式的字符串或者 undefined/empty 变量,将返回 NaN。传入 null 将返回 0。
    Math.sin(x)
    返回一个 -1 到 1 之间的数值,表示给定角度(单位:弧度)的正弦值
    Math.acos(x)
    返回一个数的反余弦值(单位为弧度)。acos 方法以 -1 到 1 的一个数为参数,返回一个 0 到 pi (弧度)的数值。如果传入的参数值超出了限定的范围,将返回 NaN
    Math.asin(x)
    返回一个数值的反正弦(单位为弧度)。asin 方法接受 -1 到 1 之间的数值作为参数,返回一个介于-π/2到π/2弧度的数值。如果接受的参数值超出范围,则返回 NaN。
    Math.atan(x)
    返回一个数值的反正切(以弧度为单位),以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值.
    Math.atan2(x, y)
    返回 y/x 的反正切值. atan2 方法返回一个 -pi 到 pi 之间的数值,表示点 (x, y) 对应的偏移角度。这是一个逆时针角度,以弧度为单位,正X轴和点 (x, y) 与原点连线 之间。注意此函数接受的参数:先传递 y 坐标,然后是 x 坐标。
    atan2 接受单独的 x 和 y 参数,而 atan 接受两个参数的比值
    Math.cos(x)
    返回x的余弦值.返回一个 -1 到 1 之间的数值,表示角度(单位:弧度)的余弦值。
    Math.exp(x)
    返回 Ex, 当x为参数, E 是欧拉常数 (2.718...), 自然对数的底.
    Math.log(x)
    返回一个数的自然对数,如果指定的 number 为负数,则返回值为 NaN。
    Math.max([x[,y[,…]]])
    返回0个到多个数值中最大值。
    如果没有参数,则结果为 - Infinity。
    如果有任一参数不能被转换为数值,则结果为 NaN。
    Math.min([x[,y[,…]]])
    返回0个到多个数值中最小值,Math.min 经常用于裁剪一个值,以便使其总是小于或等于某个边界值
    如果没有参数,则结果为 Infinity。
    如果有任一参数不能被转换为数值,则结果为 NaN。
    Math.pow(x,y)
    返回x的y次幂.
    Math.random()
    返回0到1之间的伪随机数(大于等于0,小于1),以当前时间为随机数种子
    Math.floor(Math.random() * (max - min + 1) + min); // 返回一个介于min和max之间的整型随机数

    以下ES6新增:

    log10(), log2(), log1p(), expm1(), cosh(), sinh(), tanh(), acosh(), asinh(), atanh(), hypot(), trunc(), sign(), imul(), fround(), cbrt() clz32()
    Math.acosh(x)
    返回x的反双曲余弦值.
    Math.asinh(x)
    返回x的反双曲正弦值.
    Math.atanh(x)
    返回 x 的反双曲正切值.
    Math.cbrt(x)
    返回x的立方根.
    Math.clz32(x)
    Returns the number of leading zeroes of a 32-bit integer.
    Math.cosh(x)
    返回x的双曲余弦值.
    Math.expm1(x)
    返回 exp(x)-1 的值.
    Math.fround(x)
    Returns the nearest single precision float representation of a number.
    Math.hypot([x[,y[,…]]])
    Returns the square root of the sum of squares of its arguments.
    Math.imul(x)
    Returns the result of a 32-bit integer multiplication.
    Math.log1p(x)
    Returns the natural logarithm of 1 + x (loge, also ln) of a number.
    Math.log10(x)
    Returns the base 10 logarithm of x.
    Math.log2(x)
    Returns the base 2 logarithm of x.
    Math.sign(x)
    返回x的符号函数, 判定x是正数,负数还是0.
    Math.sinh(x)
    返回x的双曲正弦值.
    Math.tanh(x)
    返回x的双曲正切值.
    Math.trunc(x)
    返回x的整数部分,去除小数.

  • 相关阅读:
    前后台$.post交互并返回JSON对象
    Hello World
    Jquery表单插件使用
    MyBatis插入语句返回主键值
    $ is not defined与SpringMVC访问静态资源
    MySql查询数据令某字段显示固定值
    更改我的网页默认的暴风影音播放器
    adodb.stream对象的方法/属性
    【顶】Asp无组件生成缩略图 (3)
    关于MD5的加解密
  • 原文地址:https://www.cnblogs.com/codebook/p/5890355.html
Copyright © 2011-2022 走看看