Math
提供数学常数和函数的内置对象。
静态属性
Math.E
欧拉常数,自然对数的底数。
js
Math.E; // 2.718281828459045Math.LN2
2 的自然对数。
js
Math.LN2; // 0.6931471805599453Math.LN10
10 的自然对数。
js
Math.LN10; // 2.302585092994046Math.LOG2E
以 2 为底的 e 的对数。
js
Math.LOG2E; // 1.4426950408889634Math.LOG10E
以 10 为底的 e 的对数。
js
Math.LOG10E; // 0.4342944819032518Math.PI
圆周率。
js
Math.PI; // 3.141592653589793Math.SQRT1_2
1/2 的平方根。
js
Math.SQRT1_2; // 0.7071067811865476Math.SQRT2
2 的平方根。
js
Math.SQRT2; // 1.4142135623730951静态方法
Math.abs(x)
返回一个数的绝对值。
js
Math.abs(-5); // 5
Math.abs(3); // 3Math.acos(x)
返回一个数的反余弦值。
js
Math.acos(0); // 1.5707963267948966 (π/2)
Math.acos(1); // 0Math.acosh(x)
返回一个数的反双曲余弦值。
js
Math.acosh(1); // 0
Math.acosh(2); // 1.3169578969248166Math.asin(x)
返回一个数的反正弦值。
js
Math.asin(0); // 0
Math.asin(1); // 1.5707963267948966 (π/2)Math.asinh(x)
返回一个数的反双曲正弦值。
js
Math.asinh(0); // 0
Math.asinh(1); // 0.881373587019543Math.atan(x)
返回一个数的反正切值。
js
Math.atan(0); // 0
Math.atan(1); // 0.7853981633974483 (π/4)Math.atan2(y, x)
返回 y/x 的反正切值。
js
Math.atan2(90, 15); // 1.4056476493802699
Math.atan2(15, 90); // 0.16514867741462683Math.atanh(x)
返回一个数的反双曲正切值。
js
Math.atanh(0); // 0
Math.atanh(0.5); // 0.5493061443340548Math.cbrt(x)
返回一个数的立方根。
js
Math.cbrt(27); // 3
Math.cbrt(-8); // -2Math.ceil(x)
向上取整。
js
Math.ceil(4.2); // 5
Math.ceil(4.8); // 5
Math.ceil(-4.2); // -4Math.clz32(x)
返回一个 32 位整数的前导零的数量。
js
Math.clz32(1); // 31
Math.clz32(1000); // 22Math.cos(x)
返回一个数的余弦值(x 为弧度)。
js
Math.cos(0); // 1
Math.cos(Math.PI); // -1Math.cosh(x)
返回一个数的双曲余弦值。
js
Math.cosh(0); // 1
Math.cosh(1); // 1.5430806348152437Math.exp(x)
返回 e^x,其中 e 是欧拉常数。
js
Math.exp(1); // 2.718281828459045
Math.exp(0); // 1Math.expm1(x)
返回 e^x - 1。
js
Math.expm1(1); // 1.718281828459045
Math.expm1(0); // 0Math.floor(x)
向下取整。
js
Math.floor(4.2); // 4
Math.floor(4.8); // 4
Math.floor(-4.2); // -5Math.fround(x)
返回最接近的单精度浮点数表示。
js
Math.fround(1.5); // 1.5
Math.fround(1.337); // 1.3370000123977661Math.hypot([x[, y[, ...]]])
返回所有参数平方和的平方根。
js
Math.hypot(3, 4); // 5
Math.hypot(5, 12); // 13
Math.hypot(3, 4, 5); // 7.0710678118654755Math.imul(x, y)
返回两个参数的 32 位整数乘法结果。
js
Math.imul(2, 4); // 8
Math.imul(-1, 8); // -8Math.log(x)
返回一个数的自然对数。
js
Math.log(Math.E); // 1
Math.log(10); // 2.302585092994046Math.log1p(x)
返回 1 + x 的自然对数。
js
Math.log1p(Math.E - 1); // 1
Math.log1p(0); // 0Math.log10(x)
返回一个数以 10 为底的对数。
js
Math.log10(100000); // 5
Math.log10(1); // 0Math.log2(x)
返回一个数以 2 为底的对数。
js
Math.log2(8); // 3
Math.log2(1); // 0Math.max([x[, y[, ...]]])
返回零到多个数值中的最大值。
js
Math.max(1, 2, 3); // 3
Math.max(-1, -2, -3); // -1
Math.max(1); // 1Math.min([x[, y[, ...]]])
返回零到多个数值中的最小值。
js
Math.min(1, 2, 3); // 1
Math.min(-1, -2, -3); // -3
Math.min(1); // 1Math.pow(x, y)
返回 x 的 y 次幂。
js
Math.pow(2, 3); // 8
Math.pow(4, 0.5); // 2
Math.pow(10, 2); // 100Math.random()
返回一个 0 到 1 之间的伪随机数。
js
Math.random(); // 0.123456789 (示例)
Math.random(); // 0.987654321 (示例)
// 生成 min 到 max 之间的随机整数
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
getRandomInt(1, 10); // 1 到 10 之间的随机整数Math.round(x)
四舍五入到最接近的整数。
js
Math.round(2.3); // 2
Math.round(2.7); // 3
Math.round(2.5); // 3
Math.round(-2.5); // -2Math.sign(x)
返回一个数的符号:正数返回 1,负数返回 -1,0 返回 0。
js
Math.sign(3); // 1
Math.sign(-3); // -1
Math.sign(0); // 0
Math.sign(-0); // -0Math.sin(x)
返回一个数的正弦值(x 为弧度)。
js
Math.sin(0); // 0
Math.sin(Math.PI / 2); // 1Math.sinh(x)
返回一个数的双曲正弦值。
js
Math.sinh(0); // 0
Math.sinh(1); // 1.1752011936438014Math.sqrt(x)
返回一个数的平方根。
js
Math.sqrt(9); // 3
Math.sqrt(2); // 1.4142135623730951
Math.sqrt(0); // 0Math.tan(x)
返回一个数的正切值(x 为弧度)。
js
Math.tan(0); // 0
Math.tan(Math.PI / 4); // 0.9999999999999999 (理论上是 1)Math.tanh(x)
返回一个数的双曲正切值。
js
Math.tanh(0); // 0
Math.tanh(1); // 0.7615941559557649Math.trunc(x)
返回一个数的整数部分。
js
Math.trunc(13.37); // 13
Math.trunc(42.84); // 42
Math.trunc(-0.123); // -0