一、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
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL5EDO4QTMzgTM2IjNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
二、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
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL5EDO4QTMzgTM2IjNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
三、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之間的一個随機數 |