JavaScript内置对象——Math对象
这几天在刷leetcode的时候用到了一些Math对象的知识,故作一下总结~
JavaScript中的Math对象也是一个常见的内置对象,然而与String等其它常见对象不同,Math对象没有构造函数,它只是将常用的数学常量以及运算方法进行了封装,在使用时自然无需创建,直接使用该对象即可~
Math对象的属性:存储了一些数学运算中常用的常量
| 属性 | 值 |
| E | 算数常量e(自然对数的底数) |
| LN2 | 2的自然对数 |
| LN10 | 10的自然对数 |
| LOG2E | 以2为底的e的对数 |
| LOG10E | 以10为底e的对数 |
| PI | 返回圆周率 |
| SQRT1_2 | 2的平方根的倒数 |
| SQRT2 | 2的平方根 |
Math对象的方法:(ES6中新增了一些方法,用*标注)
| 分类 | 方法 | 返回值 |
三角函数 |
acos(x) | x的反余弦值 |
| acosh(x) | x的反双曲余弦值* | |
| asin(x) | x的反正弦值 | |
| asinh(x) | x的反双曲正弦值* | |
| atan(x) | x的反正切值,弧度介于[-PI/2, PI/2]范围 | |
| atanh(x) | x的反双曲正切值* | |
| atan2(y,x) | 从x轴到点(x,y)的角度,弧度介于[-PI/2, PI/2]范围 | |
| sin(x) | x的正弦值 | |
| sinh(x) | x的反正弦值 | |
| cos(x) | x的余弦值 | |
| cosh(x) | x的反余弦值 | |
| tan(x) | x的正切值 | |
| tanh(x) | x的反双曲正切值 | |
幂 |
sqrt(x) | x的平方根 |
| cbrt(x) | x的立方根* | |
| pow(x,y) | x的y次幂 | |
| exp(x) | 返回e的x次幂 | |
| expm1(x) | 返回exp(x)-1 * | |
| hypot(x1,...,xn) | 返回所有参数平方之和的平方根* |
|
对数 (若x违法则返回NaN) |
log(x) | x的自然对数 |
| log1p(x) | ln(x+1)* | |
| log2(x) | 以2为底x的对数* | |
| log10(x) | 以10为底x的对数* | |
其它 |
abs(x) | x的绝对值 |
| ceil(x) | 对x上舍入 | |
| floor(x) | 对x下舍入 | |
| round(x) | x的四舍五入 | |
| trunc(x) | x的整数部分* | |
| sign(x) | x的符号(-1代表符号,1代表正号,0返回0) | |
| max(x,y) | x、y的最大值 | |
| min(x,y) | x,y的最小值 | |
| clz32(x) | 返回x的32位二进制表示中前置0的个数* | |
| fround(x) | 返回x的单精度浮点表示数* | |
| imul(x,y) | x、y的32位有符号乘法运算结果* | |
| random() | 0~1间的伪随机数 |
其中ES6新添加的方法,在MDN中依然标记为请谨慎使用,其实现未来可能会发生变化~

浙公网安备 33010602011771号