0
点赞
收藏
分享

微信扫一扫

JavaScript标准库Math

慕容冲_a4b8 2022-04-23 阅读 59
前端

Math是 JavaScript 的原生对象,提供各种数学功能。该对象不是构造函数,不能生成实例,所有的属性和方法都必须在Math对象上调用。

1. Math静态属性

以下均为只读属性,不可修改。

Math.E    // 常数e
Math.LN2    // 2的自然对数
Math.LN10    // 10的自然对数
Math.LOG2E    // 以2为底的e的对数
Math.LOG10E    // 以10为底的e的对数
Math.PI    // 常数Pi
Math.SQRT1_2    // 0.5的平方根
Math.SQRT2    // 2的平方根

2. Math静态方法

2.1 Math.abs()

Math.abs方法返回参数值的绝对值。

Math.abs(1);     // 1
Math.abs(-1);    // 1

2.2 Math.max()和Math.min()

Math.max方法返回参数之中最大的那个值。

Math.min返回参数之中最小的那个值。

如果参数为空, Math.min返回Infinity,Math.max返回-Infinity。

Math.max(2, -1, 5);    // 5
Math.min(2, -1, 5);    // -1
Math.min();    // Infinity
Math.max();    // -Infinity

2.3 Math.floor()和Math.ceil()

Math.floor方法返回小于参数值的最大整数。

Math.ceil方法返回大于参数值的最小整数。

Math.floor(3.2);    // 3
Math.floor(-3.2);    // -4
Math.ceil(3.2);    // 4
Math.ceil(-3.2);    // -3

2.4 Math.round()

Math.round方法用于四舍五入。

Math.round(0.1);    // 0
Math.round(0.5);    // 1
Math.round(0.6);    // 1
Math.round(-1.1);    // -1
Math.round(-1.5);    // -1,注意这里
Math.round(-1.6);    // -2

2.5 Math.pow()

Math.pow方法返回以第一个参数为底数、第二个参数为幂的指数值。

// 等同于 2 ** 2
Math.pow(2, 2);    // 4

2.6 Math.sqrt()

Math.sqrt方法返回参数值的平方根。如果参数是一个负值,则返回NaN。

Math.sqrt(4);    // 2
Math.sqrt(-4);    // NaN

2.7 Math.log()

Math.log方法返回以e为底的自然对数值。

Math.log(Math.E);    // 1
Math.log(10);    // 2.302585092994046

2.8 Math.exp()

Math.exp方法返回常数e的参数次方。

Math.exp(1);    // 2.718281828459045

2.9 Math.random()

Math.random()返回0到1之间的一个伪随机数,可能等于0,但是一定小于1。

Math.random();

任意范围的随机数生成函数如下:

function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}

getRandomArbitrary(-40, 50);

 返回随机字符的函数如下:

function random_str(length) {
    var ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    ALPHABET += 'abcdefghijklmnopqrstuvwxyz';
    ALPHABET += '0123456789-_';
    var str = '';    //用于存储生成的随机字符串
    for (var i=0; i < length; ++i) {
        // 用于生成一个随机数充当位置
        var rand = Math.floor(Math.random() * ALPHABET.length);
        // 利用生成的随机数裁剪原字符串得到该位置的字符
        str += ALPHABET.substring(rand, rand + 1);
    }
    return str;
}

random_str(6);

2.10 三角函数

Math.sin(0);    // 0
Math.cos(0);    // 1
Math.tan(0);    // 0
Math.asin(1);    // 1.5707963267948966
Math.acos(1);    // 0
Math.atan(1);    // 0.7853981633974483
举报

相关推荐

0 条评论