开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第17天,点击查看活动详情
前言
在JS中有一个Math对象,可以帮我们实现相关数学公式的计算,比如取number的绝对值,了解Math的常见方法能够提高我们开发效率,接下来我们一起来看下Math对象。
属性
数学当中有很多特殊的数值,比如圆周率,在数学中用π表示,那么在JS中表示就需要用Math的属性去表示:
- PI:表示圆周率π。
- LN2:表示数学中ln2,以e为底2的对数。
- LN10:表示ln10,同样以e为底10的对数
- E:表示e(自然常数)。
- LOG2E:表示对数log2e,
- LOG10E:表示对数lge。
- SQRT2:表示√2。
- SQRT1_2:表示1/√。
console.log(Math.E)//2.718281828459045
console.log(Math.PI);//3.141592653589793
以上就是在JS中表示数学中特殊数值的方法。
方法
除了属性,Math也有相关的方法帮助我们去完成相关的计算,下面就是常用方法:
- abs():获取参数绝对值。
- max(n1,n2...):获取参数中最大的数值。比起循环判断,Math一个方法就搞定。
- min():获取参数中最小值,没有值时会获取无穷大。
- floor():对参数进行向下取整。
- ceil():对参数进行向上取整。
- round():对参数进行四舍五入,当参数刚好是0.5,正负数会变大,如:2.5->3,-2.5->-2。
- random():获取0-1的随机数,利用这个我们获取n-m之间的随机数—Math.round(Math.random()*(m-n)+n)。
- pow(n,m):获取n的m次方。
- sqrt():获取参数的平方根,参数要大于等于0,这是数学条件决定的,如果是负数,会获取到NaN。
- trunc():获取参数的整数部分,该方法会将参数进行隐式转换,变为number类型。
- log():获取参数的自然对数,同样参数为负数时会返回NaN。
- sin():获取参数的正弦。
- cox():获取参数的余弦。
- tan():获取参数的正切。
console.log(Math.abs(-5))//5
console.log(Math.max(5,45,1))//45
console.log(Math.min(0,-8,1))//-8
console.log(Math.floor(3.6))//3
console.log(Math.ceil(3.2))//4
console.log(Math.round(3.2))//3
console.log(Math.random()*2+1)//1.0002606227213202
console.log(Math.pow(2,2))//4
console.log(Math.sqrt(4))//2
console.log(Math.trunc(2.125))//2
console.log(Math.log(Math.E))//1
console.log(Math.sin(Math.PI/2))//1
console.log(Math.cos(Math.PI))//-1
console.log(Math.tan(0))//0
总结
Math对象给我们提供了属性跟方法,方便了我们在开发中对数学的计算,在使用过程中要注意一些方法的参数条件。