JavaScript Math 是 JavaScript 内置(built-in)的一个对象,包含常用的数学常量及数学方法。
Math 对象详细介绍 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math
Math 有8个常量,接近18个数学方法,并有多个新增方法。
Math 常量
Math.E | 欧拉常数 | 2.718281828459045 |
Math.LN2 | 2的自然对数 | 0.6931471805599453 |
Math.LN10 | 10的自然对数 | 2.302585092994046 |
Math.LOG2E | 以10为底E的对数 | 1.4426950408889634 |
Math.LOG10E | 以2为底E的对数 | 0.4342944819032518 |
Math.PI | 圆周率 | 3.141592653589793 |
Math.SQRT1_2 | 1/2的平方根 | 0.7071067811865476 |
Math.SQRT2 | 2的平方根 | 1.4142135623730951 |
Math 方法
Math.abs(x) | 获取 x 的绝对值 | |
Math.acos(x) | 获取 x 的反余弦值 | |
Math.acosh(x) | 获取 x 的反双曲余弦值 | 实验方法 |
Math.asin(x) | 获取 x 的反正弦值 | |
Math.asinh(x) | 获取 x 的反双曲正弦值 | 实验方法 |
Math.atan(x) | 以介于 -PI/2 与 PI/2 弧度之间的数值来获取 x 的反正切值 | |
Math.atanh(x) | 获取 x 的反双曲正切值 | 实验方法 |
Math.atan2(x, y) | 获取 y/x 的反正切值 | |
Math.cbrt(x) | 获取 x 的立方根 | 实验方法 |
Math.ceil(x) | 获取大于等于 x 的最小整数 | |
Math.cos(x) | 获取 x 的余弦值 | |
Math.cosh(x) | 获取 x 的双曲余弦值 | 实验方法 |
Math.exp(x) | 获取 Ex, Math.E 的 x 次幂 | |
Math.expm1(x) | 获取 Math.exp(x)-1 的值 | 实验方法 |
Math.floor(x) | 获取小于等于 x 的最大整数 | |
Math.fround(x) | 获取与 x 最相近的单精度浮点数 | 实验方法 |
Math.hypot([x[,y[,…]]]) | 获取所有参数的平方和的平方根, 统计 | 实验方法 |
Math.imul(x) | 获取一个32位整数的乘积 ? | 实验方法 |
Math.log(x) | 获取以 Math.E 为底数, x 为指数的对数, 自然对数 | |
Math.log1p(x) | 获取 1 + x 的自然对数 | 实验方法 |
Math.log10(x) | 获取以 10 为底数, x 为指数的对数 | 实验方法 |
Math.log2(x) | 获取以 2 为底数, x 为指数的对数 | 实验方法 |
Math.max([x[,y[,…]]]) | 获取所有参数中的最大值 | |
Math.min([x[,y[,…]]]) | 获取所有参数中的最小值 | |
Math.pow(x,y) | 获取 x 的 y 次幂 | |
Math.random() | 获取 0 到 1 之间的伪随机数 | |
Math.round(x) | 获取 x 四舍五入后的整数 | |
Math.sign(x) | 获取 x 的标记, 判定 x 是正数, 负数还是 0 | -1, 0, 1 |
Math.sin(x) | 获取 x 的正弦值 | |
Math.sinh(x) | 获取 x 的双曲正弦值 | 实验方法 |
Math.sqrt(x) | 获取 x 的平方根 | |
Math.tan(x) | 获取 x 的正切值 | |
Math.trunc(x) | 获取 x 的整数部分,去除小数 | 实验方法 |
从 Math 常量可以看出 JavaScript 浮点数最多表示多少位。下面这段代码比较有趣:
1.1 + 2.2 // == 3.3 ? // 得到结果 3.3000000000000003 Math.fround(1.1 + 2.2) == 3.299999952316284 // ? 得到最接近的浮点数