Math对象没什么好讲的,都是全局方法和属性
var max=Math.max(1,2,3,4,5,6)//6
var min=Math.min(2,3,4,5,6)//2
document.write(Math.floor(3));//3
document.write(Math.ceil(3));//3
var num1=Math.ceil(25.1)//26,向上找一个最近的整数
var num2=Math.floor(25.9)/25,向下找一个最近的整数
var num3=Math.round(25.6)//26,四舍五入
还有一些数学方法
Math 对象方法
方法 | 描述 |
---|---|
abs(x) | 返回数的绝对值。 |
acos(x) | 返回数的反余弦值。 |
asin(x) | 返回数的反正弦值。 |
atan(x) | 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。 |
atan2(y,x) | 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。 |
ceil(x) | 对数进行上舍入。 |
cos(x) | 返回数的余弦。 |
exp(x) | 返回 e 的指数。 |
floor(x) | 对数进行下舍入。 |
log(x) | 返回数的自然对数(底为e)。 |
max(x,y) | 返回 x 和 y 中的最高值。 |
min(x,y) | 返回 x 和 y 中的最低值。 |
pow(x,y) | 返回 x 的 y 次幂。 |
random() | 返回 0 ~ 1 之间的随机数。 |
round(x) | 把数四舍五入为最接近的整数。 |
sin(x) | 返回数的正弦。 |
sqrt(x) | 返回数的平方根。 |
tan(x) | 返回角的正切。 |
toSource() | 返回该对象的源代码。 |
valueOf() | 返回 Math 对象的原始值。 |
这里再重点说下random()这个函数
random()是产生0-1(0≤x<1)的随机数,如果乘上10,就是0-10之间的随机数,再加1就是1-11的随机数
那我要n-m之间的随机数,是不是应该Math.random()先乘(m-n+1),再向右移n个单位,就是+n。
好了,所以为了得到n-m之间的随机数:Math.random()*(m-n+1)+n//n≤x<m
如果Math.floor(Math.random()*(m-n+1)+n)这样表示,代表什么?
就是向下取整啊,得到了n-m之间的随机整数。
所以
Math.random()*(m-n+1)+n//n≤x<m
Math.floor(Math.random()*(m-n+1)+n)//n-m之间的随机整数,包含n