一、Math.min()
语法:Math.min(num1,num2…numN)
功能:求一组数中的最小值。
返回值:Number。
例子1:
var min = Math.min(5,-4.0,9,108,99);
console.log(min);//-4
例2:但一组数中有字符串时
var min = Math.min(5,-4.0,9,108,99,"abc");
console.log(min);//NaN
二、Math.max()
与Math.min()类似
语法:Math.max(num1,num2…numN)
功能:求一组数中的最小值。
返回值:Number。
例子1:
var max = Math.max(5,-4.0,9,108,99);
console.log(max);//108
例2:但一组数中有字符串时
var max = Math.max(5,-4.0,9,108,99,"abc");
console.log(max);//NaN
三、Math.ceil()
语法:Math.ceil(num)
功能:向上取整,即返回大于num的最小整数。
返回值:Number。
var num = Math.ceil(189.99);
console.log(num);//190
console.log(Math.ceil(0.1));//1
console.log(Math.ceil(0.9));//1
console.log(Math.ceil(-0.1));//-0
console.log(Math.ceil(-5));//-5
console.log(Math.ceil('a'));//NaN
结果图:
四、Math.floor()
语法:Math.floor(num)
功能:向下取整,即返回num的整数部分。
返回值:Number。
var num = Math.floor(189.99);
console.log(num);//189
console.log(Math.floor(2.1));//2
console.log(Math.floor(2.9));//2
console.log(Math.floor(-5.1));//-6
console.log(Math.floor(-5));//-5
console.log(Math.floor('a'));//NaN
结果:
五、Math.round()
语法:Math.round(num)
功能:将数值四舍五入为最接近的整数。
返回值:Number。
var num = Math.round(189.99);
console.log(num);//190
console.log(Math.round(1.1));//1
console.log(Math.round(-1.1));//-1
console.log(Math.round(1.9));//2
console.log(Math.round(-1.9));//-2
console.log(Math.round(1.5));//2
console.log(Math.round(-1.5));//-1
console.log(Math.round('a'));//NaN
结果
六、Math.abs()
语法:Math.abs(num)
功能:返回num的绝对值。
返回值:Number。
var num = Math.abs(189.99);
console.log(num);//189.99
console.log(Math.abs(1.5));//1.5
console.log(Math.abs(-1.5));//1.5
console.log(Math.abs('a'));//NaN
结果:
手机端触屏移动会用到这个方法
七、Math.random()
语法:Math.random()
功能:返回大于等于0小于1的一个随机数
返回值:Number
说明:求n到m之间的随机整数公式:
random = Math.floor(Math.random()*(m-n+1)+n);
讲解:random()的最小值:0 ; 最大值0.99999999…
例如2~6之间的整数 2、3、4、5、6 ,可用6-2+1一共5个
例如7~9之间的整数7、8、9,可用9-7+1一共3个
可推理出n~m之间的整数m-n+1个
例如(6-2+1)random+2 = 50.999999+2=6.999995,在取整就可以得到6~2之间的数,
(m-n+1)*0+n~(m-n+1)*0.999 相当于n~(m-n+1)之间的数,
例1.
var num = Math.random();
console.log(num);
console.log(Math.random());
console.log(Math.random());
结果:
例2:获取1~10(包括10)之间的随机整数
floor方法:
var num = Math.floor(Math.random()*10+1);
console.log(num);
ceil方法:
var num1 = Math.ceil(Math.random()*10);
console.log(num1);
例3:生成一个n到m之间的随机整数
function getRandom(n,m){
var choise = m-n+1;//随机整数的个数
return Math.floor(Math.random()*choise+n);
}
var random1 = getRandom(2,6);
console.log(random1);
总结 Math 取整&获取随机数
方法 | 定义 | 用法 | 参数 | 返回值 |
---|---|---|---|---|
ceil() | 对一个数进行上舍入 | Math.floor(n) | 必需。必须是一个数值 | 大于等于n,并且是与它最接近的整数 |
floor() | 对一个数进行下舍入 | Math.ceil() | 必需。任意数值或表达式 | 小于等于n,并且是与它最接近的整数 |
round() | 把数值四舍五入为最接近的整数 | Math.round(n) | 必需。必须是数字 | 与n最接近的整数。注:对0.5进行上舍入 |
random() | 返回一个大于等于0并且小于1的随机数 | Math.random() | 无 | 0.0~1.0之间的一个随机数 |