天天看点

Math对象——Math.min()&Math.ceil()&Math.floor()&Math.round()&Math.abs()&Math.random()

一、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对象——Math.min()&Math.ceil()&Math.floor()&Math.round()&Math.abs()&Math.random()

二、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对象——Math.min()&Math.ceil()&Math.floor()&Math.round()&Math.abs()&Math.random()

三、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对象——Math.min()&Math.ceil()&Math.floor()&Math.round()&Math.abs()&Math.random()

四、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对象——Math.min()&Math.ceil()&Math.floor()&Math.round()&Math.abs()&Math.random()

五、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对象——Math.min()&Math.ceil()&Math.floor()&Math.round()&Math.abs()&Math.random()

六、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对象——Math.min()&Math.ceil()&Math.floor()&Math.round()&Math.abs()&Math.random()

手机端触屏移动会用到这个方法

七、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());
           

结果:

Math对象——Math.min()&Math.ceil()&Math.floor()&Math.round()&Math.abs()&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之间的一个随机数

继续阅读