JavaScript Math Object 學習筆記
Published in
10 min readApr 29, 2020
Math
物件提供數學常數和數學函式方法的物件。
Math 物件內建的屬性 (Properties)
Math.E
- 代表自然對數的基底,數值約:
2.718
。
Math.E // 2.718281828459045
Math.LN2
- 代表2的自然對數。
Math.LN2 // 0.6931471805599453
Math.LN10
- 代表10的自然對數。
Math.LN10 // 2.302585092994046
Math.LOG2E
- 代表以2為基底,e 的對數 。
Math.LOG2E // 1.4426950408889634
Math.LOG10E
- 代表以10為基底,e 的對數 。
Math.LOG10E // 0.4342944819032518
Math.PI
- 代表圓周長與直俓的比例。
Math.PI // 3.141592653589793
Math.SQRT2
- 代表2的平方根。
Math.SQRT2 // 1.4142135623730951
Math.SQRT1_2
- 代表
1/2
的平方根。
Math.SQRT1_2 // 0.7071067811865476
Math 物件內建的方法 (Methods)
Math.abs(x)
- 用來取得數字的絕對值。
- 參數
x
:取得絕對值的數值。
Math.abs(-100) // 100
Math.abs('-100') // 100
Math.abs([]) // 0
Math.abs(null) // 0
Math.abs([2]) // 2Math.abs() // NaN
Math.abs('abc') // NaN
Math.abs({}) // NaN
Math.abs([2,3]) // NaN
Math.acos(x)
- 取得三角函數的反餘弦數值,單位為弧度。
- 參數
x
:以1 ~ -1
內的數值,並回傳Math.PI
(弧度)的數值。
Math.acos(-1) // 3.141592653589793
Math.acos(0) // 1.5707963267948966
Math.acos(0.5) // 1.0471975511965979
Math.acos(1) // 0Math.acos(2) // NaN
Math.acos(-2) // NaN
Math.acos() // NaN
Math.asin(x)
- 取得三角函數的反正弦數值,單位為弧度。
- 參數
x
:以1 ~ -1
內的數值,並回傳Math.PI 的一半
(弧度)數值。
Math.asin(-1) // -1.5707963267948966
Math.asin(0) // 0
Math.asin(0.5) // 0.5235987755982989
Math.asin(1) // 1.5707963267948966Math.asin(2) // NaN
Math.asin(-2) // NaN
Math.asin() // NaN
Math.atan(x)
- 取得三角函數的反正切數值,單位為弧度。
- 參數
x
:數值,單位為弧度。
Math.atan(-1) // -0.7853981633974483
Math.atan(0) // 0
Math.atan(1) // 0.7853981633974483
Math.atan(Infinity) // 1.5707963267948966
Math.atan(-Infinity) // -1.5707963267948966Math.atan() // NaN
Math.cos(x)
- 取得三角函數的餘弦數值,單位為弧度。
- 參數
x
:數值,單位為弧度。
Math.cos(-1) // 0.5403023058681398
Math.cos(0) // 1
Math.cos(1) // 0.5403023058681398Math.cos(Math.PI) // -1
Math.cos(Math.PI * 2) // 1Math.cos() // NaN
Math.sin(x)
- 取得三角函數的正弦數值,單位為弧度。
- 參數
x
:數值,單位為弧度。
Math.sin(-1) // -0.8414709848078965
Math.sin(0) // 0Math.sin(Math.PI) // 1.2246467991473532e-16
Math.sin(Math.PI / 2) // 1Math.sin() // NaN
Math.tan(x)
- 取得三角函數的正切數值,單位為弧度。
- 參數
x
:數值,單位為弧度。
Math.tan(-1) // -1.5574077246549023
Math.tan(1) // 1.5574077246549023Math.tan() // NaN
Math.cbrt(x)
- 回傳數值的立方根。
- 參數
x
:數值
Math.cbrt(-2) // -1.2599210498948732
Math.cbrt(8) // 2
Math.cbrt(27) // 3
Math.cbrt(64) // 4Math.cbrt(Infinity) // Infinity
Math.cbrt(-Infinity) // -Infinity
Math.cbrt(null) // 0
Math.sqrt(x)
- 回傳數值的平方根。
- 參數
x
:數值,如為負值回傳NaN
。
Math.sqrt(-2) // NaN
Math.sqrt(-Infinity) // NaNMath.sqrt(4) // 2
Math.sqrt(9) // 3
Math.sqrt(16) // 4
Math.sqrt(Infinity) // Infinity
Math.sqrt(null) // 0
Math.ceil(x)
- 用來對小數點做無條件進位,並回傳大於等於參數的最小數值(向上取整,有小數就整數部分加1)。
- 參數
x
:數值 。
Math.ceil(0.59) // 1
Math.ceil(1) // 1
Math.ceil(1.4) // 2
Math.ceil(-0.59) // 0
Math.ceil(-1.4) // -1
Math.floor(x)
- 用來對小數點做無條件捨去,並回傳小於等於參數的最大數值(向下取整)。
- 參數
x
:數值 。
Math.floor(0.59) // 0
Math.floor(1) // 1
Math.floor(1.4) // 1
Math.floor(-0.59) // -1
Math.floor(-1.59) // -2
Math.round(x)
- 取得四捨五入後並回傳整數。
- 參數
x
:數值 。
Math.round(0.59) // 1
Math.round(1) // 1
Math.round(1.4) // 1
Math.round(-0.59) // -1
Math.round(-1.59) // -2
如想要四捨五入到某位數,可用以下方式:
Math.round(x * 100) / 100 //小數點2位Math.round(1.5678 * 100) / 100 // 1.57Math.round(x * 1000)/1000 //小數點3位Math.round(1.5678*1000)/1000 // 1.568
Math.trunc(x)
- 用來去除小數點,並回傳整數值。
- 參數
x
:數值 。
Math.trunc(-10.56) // -10
Math.trunc(-2,10) // -2
Math.trunc(0) // 0
Math.trunc(9,245) // 9
Math.trunc(30.45) // 30
Math.random()
- 用來回傳0(包含)~1(不包含)的隨機數。
Math.random() // 0.9495891992510921
Math.random() // 0.027129219512792346
Math.random() // 0.46826737899837445
Math.min([value1[,value2, …]])
- 取得參數中的最小值。
- 參數
value1、value2
:數值,如無值回傳Infinity
,或參數無法轉數字,則回傳NaN
。
Math.min(10,20) // 10
Math.min(-10,-20) // -20Math.min() // Infinity
Math.min('abc') // NaN
Math.max([value1[,value2, …]])
- 取得參數中的最大值。
- 參數
value1、value2
:數值,如無值回傳-Infinity
,或參數無法轉數字,則回傳NaN
。
Math.min(10,20) // 20
Math.min(-10,-20) // -10Math.min() // -Infinity
Math.min('abc') // NaN
Math.exp(x)
- 用來取得自然對數
(Math.E)
的x
次方。 - 參數
x
:數值 。
Math.exp(-1) // 0.36787944117144233
Math.exp(1) // 2.718281828459045 Math.exp() // NaN
Math.log(x)
- 用來取得參數的自然對數。
- 參數
x
:數值,如為負值回傳NaN
。
Math.log(-1) // NaN
Math.log(0) // -Infinity
Math.log(10) // 2.302585092994046
Math.log(1) // 0
Math.log() // NaN
Math.pow(base, exponent)
- 用來做指數運算。
- 參數
base
:基底數值。 - 參數
exponent
:指數數值 。
Math.pow(2,7) // 128
Math.pow(2,10) // 1024
Math.pow(7,2) // 49
Math.pow(9,2) // 81
Math.pow() // NaN
以上是我對 Math Object 的學習筆記 😉。
***如果有任何想法,也歡迎留言與我分享~***