天天看點

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之間的一個随機數

繼續閱讀