第 21 章. 数学
目录
购买本书
(广告,请不要屏蔽。)

第 21 章. 数学

Math 对象用作多个数学函数的命名空间。本章对此进行概述。

数学属性

Math 的属性如下:

Math.E
欧拉常数 (e)
Math.LN2
2 的自然对数
Math.LN10
10 的自然对数
Math.LOG2E
e 的以 2 为底的对数
Math.LOG10E
e 的以 10 为底的对数
Math.PI
圆周长与其直径的比值 (3.14159 ...),π
Math.SQRT1_2
二分之一的平方根,
Math.SQRT2
2 的平方根,

数值函数

Math 的数值函数包括以下内容:

Math.abs(x)
返回x 的绝对值。
Math.ceil(x)

返回最小整数 ≥ x

> Math.ceil(3.999)
4
> Math.ceil(3.001)
4
> Math.ceil(-3.001)
-3
> Math.ceil(3.000)
3

有关将浮点数转换为整数的更多信息,请参阅转换为整数

Math.exp(x)
返回 ex,其中 e 是欧拉常数 (Math.E)。这是 Math.log() 的反函数。
Math.floor(x)

返回最大整数 ≤ x

> Math.floor(3.999)
3
> Math.floor(3.001)
3
> Math.floor(-3.001)
-4
> Math.floor(3.000)
3

有关将浮点数转换为整数的更多信息,请参阅转换为整数

Math.log(x)
返回x 的自然(以欧拉常数为底)对数 ln(x)。这是 Math.exp() 的反函数。
Math.pow(x, y)

返回 xyxy 次幂:

> Math.pow(9, 2)
81
> Math.pow(36, 0.5)
6
Math.round(x)

返回四舍五入到最接近整数的 x(如果它在两个整数之间,则为较大的一个):

> Math.round(3.999)
4
> Math.round(3.001)
3
> Math.round(3.5)
4
> Math.round(-3.5)
-3

有关将浮点数转换为整数的更多信息,请参阅转换为整数

Math.sqrt(x)

返回x 的平方根:

> Math.sqrt(256)
16

三角函数

三角函数方法接受并返回以弧度为单位的角度。以下函数展示了如何在需要的情况下实现转换:

  • 从度数到弧度

    function toRadians(degrees) {
        return degrees / 180 * Math.PI;
    }

    以下是交互

    > toRadians(180)
    3.141592653589793
    > toRadians(90)
    1.5707963267948966
  • 从弧度到度数

    function toDegrees(radians) {
        return radians / Math.PI * 180;
    }

    以下是交互

    > toDegrees(Math.PI * 2)
    360
    > toDegrees(Math.PI)
    180

三角函数方法如下

Math.acos(x)
返回x 的反余弦。
Math.asin(x)
返回x 的反正弦。
Math.atan(x)
返回x 的反正切。
Math.atan2(y, x)
返回 的反正切。
Math.cos(x)
返回x 的余弦。
Math.sin(x)
返回x 的正弦。
Math.tan(x)
返回 x 的正切。

其他函数

以下是其余的 Math 函数:

Math.min(x1?, x2?, ...)

返回参数中最小的数字:

> Math.min()
Infinity
> Math.min(27)
27
> Math.min(27, -38)
-38
> Math.min(27, -38, -43)
-43

通过 apply() 在数组上使用它(请参阅func.apply(thisValue, argArray)

> Math.min.apply(null, [27, -38, -43])
-43
Math.max(x1?, x2?, ...)

返回参数中最大的数字:

> Math.max()
-Infinity
> Math.max(7)
7
> Math.max(7, 10)
10
> Math.max(7, 10, -333)
10

通过 apply() 在数组上使用它(请参阅func.apply(thisValue, argArray)

> Math.max.apply(null, [7, 10, -333])
10
Math.random()

返回一个伪随机数 r,0 ≤ r < 1。以下函数使用 Math.random() 来计算一个随机整数:

/**
 * Compute a random integer within the given range.
 *
 * @param [lower] Optional lower bound. Default: zero.
 * @returns A random integer i, lower ≤ i < upper
 */
function getRandomInteger(lower, upper) {
    if (arguments.length === 1) {
        upper = lower;
        lower = 0;
    }
    return Math.floor(Math.random() * (upper - lower)) + lower;
}

下一页:22. JSON