JavaScript自身定义了很多数学运算的方法被定义在Math对象中. Math自身就是一个对象无需创建直接使用自身中的方法和属性
Math的属性PI
PI属性代表圆周率
Math.abs(x)
返回数x的绝对值。
Math.ceil(x)
对一个数x进行上舍入
Math.floor(x)
对一个数x进行下舍入
Math.max(x)
返回指定数中带有较大的值的那个数。
…表示可以传递无限个参数
Math.min(x,y)
返回指定数中带有较小的值的那个数。
…表示可以传递无限个参数
Math.pow(x,y)
返回 x 的 y 次幂的值。
Math.random()
返回介于 0 ~ 1 之间的一个随机数,包含0不包含1。
Math.round(x)
可把一个数字舍入为最接近的整数。(四舍五入)
获取指定范围的随机整数
获取指定范围的随机整数的方法,该方法不是系统的方法是系统,该方法必须记住写法,后面经常应用.
function randomInt(min,max){
return Math.floor(Math.random()*(max-min+1)+min);
}
//需求:获取10到30之间的随机整数
//逆向分析法:
//>>1. 如果能够获取0到20的随机数,再随机上加10
//>>2. 如果能够获取0到1的随机数,再乘以20可以实现,
//因为通过Math.random()生成的随机数不包含1. 所以说在20的基础上加一
//即 Math.random()*(20+1) 计算出来的值0--21之间(不包含21)
//返过来分析
//>>1. Math.random()*(20+1) 计算出来的值0--21之间(不包含21),要得到10--30
//>>2. 在以上的基础上加10 即: Math.random()*(20+1)+10, 得到10--31之间(不包含31)
//>>3. 在 Math.random()*(20+1)+10公式中需求给出没有20,实际上20可以通过30-10得到
// 即: Math.random()*(30-10+1)+10 (10--31之间的数),但不包含31.并且我们需要的是整数
//>>4. Math.floor(Math.random()*(30-10+1)+10),得到10到30之间的整数
//>>5. 如果将以上需求中的10,30分别作为需求的最小数min,最大数max表示的话,
//得到以下公式:
//Math.floor(Math.random()*(max-min+1)+min)
//>>6.可以将该公式看作获取指定范围随机整数的方法如上方法: