1. 简介
Math 对象保存数学公式和信息,与我们在 JavaScript 直接编写的计算功能相比,Math 对象提供的计算功能执行起来要快得多,还提供了辅助完成这些计算的属性和方法。
2. 属性
属性 | 说明 |
---|---|
Math.E | 自然对数的底数,即常量 e 的值 |
Math.LN10 | 10 的自然对数 |
Math.LN2 | 2 的自然对数 |
Math.LOG2E | 以 2 为底 e 的对数 |
Math.LOG10E | 以 10 为底 e 的对数 |
Math.PI | π的值 |
Math.SQRT1_2 | 1/2 的平方根,即 2 的平方根的倒数 |
Math.SQRT2 | 2 的平方根 |
3. 方法
3.1 最大最小
min()
确定一组数值的最小值max()
确定一组数值的最大值
可以接受任意多个数值参数
计算数组中的最大值
可以使用 apply()
方法避免传入大量参数
var values = [1, 2, 3, 4, 5, 6, 7, 8];
var max = Math.max.apply(Math, values);
3.2 舍入
ceil()
向上舍入,总是将数值向上舍入为最接近的整数floor()
向下舍入,总是将数值向下舍入为最接近的整数round()
标准舍入,即四舍五入trunc()
去除小数部分,返回其整数部分
3.3 随机
random()
返回[ 0, 1 )
之间的一个随机数
利用此方法从某个整数范围内随机选择值(lowerValue, upperValue)
value = Math.round(Math.random() * (upperValue - lowerValue) + lowerValue);
//=> 使用 floor、trunc 则不包含最大值
//=> 使用 round 则包含最大最小
//=> 使用 ceil 则不包含最小值
3.4 符号
abs(num)
返回num
的绝对值sign(num)
判断num
的符号,负数返回-1
,0
返回0
,正数返回1
3.5 幂
exp(num)
返回Math.E
的num
次幂expml(num)
返回Math.E
的num
次幂 减1
pow(num, power)
返回num
的power
次幂sqrt(num)
返回num
的平方根cbrt(num)
返回num
的立方根hypot(...values)
返回所有参数的平方和的平方根
3.6 对数
log(num)
返回num
的自然对数log1p(num)
返回num + 1
的自然对数log2(num)
返回num
以2
为底的对数log10(num)
返回num
以10
为底的对数
3.7 三角函数
acos(x)
返回 x 的反余弦值asin(x)
返回 x 的反正弦值atan(x)
返回 x 的反正切值acosh(x)
返回 x 的反双曲余弦值asinh(x)
返回 x 的反双曲正弦值atanh(x)
返回 x 的反双曲正切值cosh(x)
返回 x 的双曲余弦值tanh(x)
返回 x 的双曲正切值cos(x)
返回 x 的余弦值sin(x)
返回 x 的正弦值tan(x)
返回 x 的正切值
3.4 其他方法
方法 | 说明 |
---|---|
Math.clz32(num) | 返回 num 的 32 位二进制整数表示形式的前导 0 的个数 |
Math.fround(num) | 返回 num 的单精度浮点数形式 |
Math.imul(x, y) | 返回两个参数以 32 位整数形式相乘的结果 |