Math 对象
Math 对象是 ES 为保存数学公式和信息提供的一个公共位置。与我们在 JS 中直接编写的计算功能相比,Math 对象提供的计算功能执行起来要快得多。Math 对象中还提供了辅助完成这些计算的属性和方法。
1. Math 对象的属性
Math 对象中的属性大都是数学计算中可能会用到的一些特殊值。
属性 | 说明 |
---|---|
Math.E | 自然对数的底数,即常量 e 的值 |
Math.LN10 | 10 的自然对数 |
Math.LN2 | 2 的自然对数 |
Math.LOG2E | 以 2 为底 e 的对数 |
Math.LOG10E | 以 10 为底 e 的对数 |
Math.PI | π 的值 |
Math.SQRT1_2 | 1/2 的平方根 |
Math.SQRT2 | 2 的平方根 |
2. min ( ) 和 max ( ) 方法
这两个方法用来确定一组数值中的最小值和最大值。 这两个方法都可以接收任意多个数值参数。
var max = Math.max(1, 4, 6, 3)
alert(max) // 6
要找到数组中的最大值或最小值,可以像下面这样使用 apply ( ) 方法。
var values = [1, 2, 3, 4, 5]
var max = Math.max.apply(Math, values)
alert(max) // 5
这个技巧的关键是把 Math 对象作为 apply 的第一个参数,从而正确的设置 this 值。然后可以将任何数组作为第二个参数。
3. 舍入方法
将小数值舍入为整数的三个方法:Math.ceil ( ) 、Math.floor ( ) 和 Math.round ( )。
- Math.ceil ( ) 执行向上舍入
- Math.floor ( ) 执行向下舍入
- Math.round ( ) 执行标准舍入,即四舍五入。
例如对于任何介于 ( 25, 26 ) 的数值,以上三个方法分别返回 26,25,x >= 25.5? 26;25 。、
4. random ( ) 方法
Math.random ( ) 方法用来返回一个大于等于 0 小于 1 的一个随机数。
套用下面的公式可以返回从某个整数范围内随机选择的一个值:
值 = Math.floor(Math.random() * 可能值的总数 + 第一个可能的值)
5. 其他方法
方法 | 说明 |
---|---|
Math.abs(num) | 返回 num 的绝对值 |
Math.exp(num) | 返回 Math.E 的 num 次幂 |
Math.log(num) | 返回 num 的自然对数 |
Math.pow(num,power) | 返回 num 的 power 次幂 |
Math.sqrt(num) | 返回 num 的平方根 |
Math.acos(x) | 返回 x 的反余弦值 |
Math.asin(x) | 返回 x 的 反正弦值 |
Math.atan(x) | 返回 x 的反正切值 |
Math.atan2(y,x) | 返回 y/x 的反正切值 |
Math.cos(x) | 返回 x 的余弦值 |
Math.sin(x) | 返回 x 的正弦值 |
Math.tan(x) | 返回 x 的正切值 |