Get to know MDN better
与其他全局对象不同的是,Math 不是构造函数,不可以与 new 运算符一起使用,也不可以将 Math 对象作为函数调用。Math 的所有属性与方法都是静态的。
备注:Math 的许多函数的精度是取决于具体实现的。
这意味着不同浏览器可能会给出不同的结果。即使是同一款 JavaScript 引擎,在不同的操作系统或架构上运行时,也可能产生不同的结果!
欧拉数,即自然对数的底数,约等于 2.718。
Math.LN1010 的自然对数,约等于 2.303。
Math.LN22 的自然对数,约等于 0.693。
Math.LOG10E以 10 为底的 E 的对数,约等于 0.434。
Math.LOG2E以 2 为底的 E 的对数,约等于 1.443。
Math.PI一个圆的周长和直径之比,约等于 3.14159。
Math.SQRT1_2½(二分之一)的平方根,约等于 0.707。
Math.SQRT22 的平方根,约等于 1.414。
Math[Symbol.toStringTag][Symbol.toStringTag] 属性的初始值为字符串 "Math"。该属性使用于 Object.prototype.toString()。
返回一个数的绝对值。
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()返回 1 + x 的和的 x 的自然对数(㏒e,即 ㏑)。
Math.log2()}返回一个数以 2 为底数的对数。
Math.max()返回零到多个数值中最大值。
Math.min()返回零到多个数值中最小值。
Math.pow()返回 x 的 y 次幂(也就是 xy)。
Math.random()返回一个 0 到 1 之间的伪随机数。
Math.round()返回四舍五入后的整数。
Math.sign()返回一个数的符号,表示它是正数、负数还是 0。
Math.sin()返回一个数的正弦值。
Math.sinh()返回一个数的双曲正弦值。
Math.sqrt()返回一个数的平方根。
Math.sumPrecise()返回传入的可迭代数字集合的和,同时避免中间结果出现浮点精度损失。
Math.tan()返回一个数的正切值。
Math.tanh()返回一个数的双曲正切值。
Math.trunc()返回一个数的整数部分,直接去除其小数点及之后的部分。
三角函数 sin()、cos()、tan()、asin()、acos()、atan() 和 atan2() 期望(并返回)以弧度为单位的角。
由于人们习惯以角度为单位进行思考,且某些函数(如 CSS 变换)可以接受角度为单位,因此准备一些用于在两种单位之间进行转换的函数是个好主意:
如果我们要计算等边三角形的高,且已知其边长为 100,我们可以使用公式:邻边的长度乘以该角的正切等于对边的长度。
在 JavaScript 中,我们可以这样实现:
我们使用 degToRad() 函数将 60 度转换为弧度,因为 Math.tan() 期望输入值以弧度为单位。
可以使用 Math.random() 和 Math.floor() 组合实现:
| ECMAScript® 2027 Language Specification # sec-math-object |
启用 JavaScript 以查看此浏览器兼容性表。