Math 是 JavaScript 的原生物件,提供各種數學功能。Math 物件是目前 JavaScript 原生物件裡唯一一個不是建構函數,不用實例化,所有的屬性和方法都是直接在 Math 物件上調用。
Math.abs()
Math.abs() 方法接受一個參數,返回該參數的絕對值,通俗的說法就是把任何一個數值返回一個正整數
1 | Math.abs(10) // 10 |
Math.ceil()
Math.ceil() 方法接受一個參數,並返回不小於該參數且最接近它的整數,即無條件進位
1 | Math.ceil(10.01) // 11 |
Math.floor()
和 Math.ceil() 相反,即無條件捨去
1 | Math.floor(10.9) // 10 |
Math.round()
Math.round() 接受一個數字參數,並回傳該參數四捨五入後的值
1 | Math.round(1.499) // 1 |
1 | Math.round(1.501) // 2 |
Math.min()
Math.min() 方法接受多個參數,並回傳當中最小的數
1 | Math.min(1, 2, 3, 4, 5) // 1 |
Math.max()
Math.max() 方法接受多個參數,並回傳當中最大的數
1 | Math.max(1, 2, 3, 4, 5) // 5 |
補充:
Math.max()
和Math.min()
不接受物件陣列參數,若需要取陣列中最大或是最小數可以用下列方法
apply
的第一個參數可以自定義的該函數所指向的 this,在此例中不需特別指定,帶入 null 即可。第二個參數為呼叫 apply 方法的方法(即下例的 Math.max 方法)預設帶入的參數,要注意的是須改以物件形式傳入,這是 apply API 的規範。
1 | Math.max.apply(null, [1, 2, 3, 4, 5]) // 5 |
也可以使用 ES6 Spread 將陣列拆解後帶入
1 | console.log(...[1, 2, 3, 4, 5]) // 1 2 3 4 5 |
1 | Math.max(...[1, 2, 3, 4, 5]) // 5 |
Math.random()
Math.random() 回傳一個介於 0 到 1 的隨機數
1 | Math.random() // 輸出 0 - 1 間的隨機數 |
產生指定區間的整數亂數
1 | function getRandomNum(min, max) { |
使用 getRandomNum
隨機取陣列中的值
1 | let arr = ['Dylan', 'Jack', 'Ralph', 'Tom', 'Rex'] |
Math.pow()
Math.pow(x, y) 方法接收兩個參數,回傳 x 的 y 次方
1 | Math.pow(2, 3) // 8 |