数学对象
Math:里面提供了很多与数学相关的属性和方法
1、Math定义的数学常量
Math.E 常量E的值
Math.LN2 2的自然对数 //0.6931471805599453
Math.LN10 10的自然对数 //2.302585092994046
Math.LOG2E 以2为底e的对数 //1.4426950408899634
Math.LOG10E 以10为底e的对数 //0.4342944819032518
Math.PI Π的值 //3.141592653589793
Math.SQRT1_2 1/2的平方根 //0.7071067811865476
Math.SQRT2 2的平方根 //1.4142135623730951
2、方法
不常用方法:
1、Math.abs() 转换绝对值
2、Math.pow(n, m) 指数函数,返回n的m次幂
3、Math.sqrt() 开根号
4、Math.log(num) 返回num的自然对数
5、Math.exp(num) 返回Math.E的num次幂
6、Math.acos(x) 返回x的反余弦值
7、Math.asin(x) 返回x的反正弦值
8、Math.atan(x) 返回x的反正切值
9、Math.atan2(y, x) 返回y/x的反正切值
10、Math.cos(x) 返回x的余弦值
11、Math.sin(x) 返回x的正弦值
12、Math.tan(x) 返回x的正切值
//6-12在canvas画图时可能会用到
常用的方法:
1、获取最大 最小值
Math.max(); 获取最大值
Math.min(); 获取最小值
注意:该方法的参数不支持数组的形式,只能使用手动罗列的形式,要想使其能够查找数组的最大、最小值需配合apply使用。
Math.max.apply(null, arr); Math.max.apply(null, arr);
2、取整
Math.floor() 向下取整 //只取整数部分 Math.ceil() 向上取整 //如果有小数部分那么就将整数部分加一 Math.round() 四舍五入 //数学中的四舍五入法则
3、求随机数
Math.random(); 获取到0-1之间的数[0, 1) 取的值可能大于等于0,小于1
求某个范围之内的随机数
[n, m] Math.floor(Math.random() * (m-n+1) + n) [n, m) Math.floor(Math.random() * (m - n) + n) (n, m) Math.ceil(Math.random() * (m - n - 1) + n)
对于任何一个方法来讲都有以下这两个属性
.call()
.apply()
这两个方法都可以来改变我们当前函数执行时的作用域环境;它们都接受两个参数,只不过call只接受手动罗列的参数,而apply接受参数的形式是数组的形式。