Math
Baseline 广泛可用 *
Math 命名空间对象包含数学常量和函数的静态属性和方法。
描述
与大多数全局对象不同,Math 不是一个构造函数。您不能将其与 new 运算符 一起使用,也不能将 Math 对象作为函数调用。Math 的所有属性和方法都是静态的。
注意: 许多 Math 函数的精度是依赖于实现的。
这意味着不同的浏览器可能会给出不同的结果。即使是同一个 JavaScript 引擎在不同的操作系统或架构上,也可能给出不同的结果!
静态属性
Math.E-
欧拉数,自然对数的底数;约等于
2.718。 Math.LN10-
10的自然对数;约等于2.303。 Math.LN2-
2的自然对数;约等于0.693。 Math.LOG10E-
E的以 10 为底的对数;约等于0.434。 Math.LOG2E-
E的以 2 为底的对数;约等于1.443。 Math.PI-
圆的周长与其直径的比值;约等于
3.14159。 Math.SQRT1_2-
½ 的平方根;约等于
0.707。 Math.SQRT2-
2的平方根;约等于1.414。 Math[Symbol.toStringTag]-
[Symbol.toStringTag]属性的初始值是字符串"Math"。此属性用于Object.prototype.toString()。
静态方法
Math.abs()-
返回输入值的绝对值。
Math.acos()-
返回输入值的反余弦值。
Math.acosh()-
返回输入值的双曲反余弦值。
Math.asin()-
返回输入值的反正弦值。
Math.asinh()-
返回数字的双曲反正弦值。
Math.atan()-
返回输入值的反正切值。
Math.atan2()-
返回其参数商的反正切值。
Math.atanh()-
返回输入值的双曲反正切值。
Math.cbrt()-
返回输入值的立方根。
Math.ceil()-
返回大于或等于输入值的最小整数。
Math.clz32()-
返回 32 位整数输入的最高位的零位数。
Math.cos()-
返回输入值的余弦值。
Math.cosh()-
返回输入值的双曲余弦值。
Math.exp()-
返回 ex,其中 x 是参数,e 是欧拉数(
2.718...,自然对数的底数)。 Math.expm1()-
返回
exp(x)减去1的结果。 Math.floor()-
返回小于或等于输入值的最大整数。
Math.f16round()-
返回输入值最接近的 半精度浮点数表示。
Math.fround()-
返回输入值最接近的 单精度浮点数表示。
Math.hypot()-
返回其参数平方和的平方根。
Math.imul()-
返回输入值 32 位整数乘法的结果。
Math.log()-
返回输入值的自然对数(㏒e;也称为 ㏑)。
Math.log10()-
返回输入值的以 10 为底的对数。
Math.log1p()-
返回数字
x的1 + x的自然对数(㏒e;也称为 ㏑)。 Math.log2()-
返回输入值的以 2 为底的对数。
Math.max()-
返回零个或多个数字中的最大值。
Math.min()-
返回零个或多个数字中的最小值。
Math.pow()-
返回底数
x的y次幂(即xy)。 Math.random()-
返回一个介于
0和1之间的伪随机数。 Math.round()-
返回输入值四舍五入到最接近整数的值。
Math.sign()-
返回输入值的符号,指示它是正数、负数还是零。
Math.sin()-
返回输入值的正弦值。
Math.sinh()-
返回输入值的双曲正弦值。
Math.sqrt()-
返回输入值的正平方根。
Math.sumPrecise()-
返回传入的可迭代数字的总和,避免中间结果中的浮点精度损失。
Math.tan()-
返回输入值的正切值。
Math.tanh()-
返回输入值的双曲正切值。
Math.trunc()-
返回输入值的整数部分,删除任何小数位数。
示例
度与弧度之间的转换
三角函数 sin()、cos()、tan()、asin()、acos()、atan() 和 atan2() 期望(并返回)以弧度为单位的角度。
由于人们倾向于以度为单位思考,并且某些函数(如 CSS 变换)可以接受度,因此提供用于在这两者之间进行转换的函数非常有用。
function degToRad(degrees) {
return degrees * (Math.PI / 180);
}
function radToDeg(rad) {
return rad / (Math.PI / 180);
}
计算等边三角形的高度
如果我们想计算一个等边三角形的高度,并且我们知道它的边长是 100,我们可以使用公式:邻边长乘以角度的正切等于对边长。

在 JavaScript 中,我们可以用以下方式实现:
50 * Math.tan(degToRad(60));
我们使用 degToRad() 函数将 60 度转换为弧度,因为 Math.tan() 期望以弧度为单位的输入值。
返回两个边界之间的随机整数
这可以通过结合使用 Math.random() 和 Math.floor() 来实现。
function random(min, max) {
const num = Math.floor(Math.random() * (max - min + 1)) + min;
return num;
}
random(1, 10);
规范
| 规范 |
|---|
| ECMAScript® 2026 语言规范 # sec-math-object |
浏览器兼容性
加载中…