JavaScript Math Object 學習筆記

Thomas Hung
Thomas 學習筆記
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]) // 2
Math.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) // 0
Math.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.5707963267948966
Math.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.5707963267948966
Math.atan() // NaN

Math.cos(x)

  • 取得三角函數的餘弦數值,單位為弧度。
  • 參數 x :數值,單位為弧度。
Math.cos(-1) // 0.5403023058681398
Math.cos(0) // 1
Math.cos(1) // 0.5403023058681398
Math.cos(Math.PI) // -1
Math.cos(Math.PI * 2) // 1
Math.cos() // NaN

Math.sin(x)

  • 取得三角函數的正弦數值,單位為弧度。
  • 參數 x :數值,單位為弧度。
Math.sin(-1) // -0.8414709848078965
Math.sin(0) // 0
Math.sin(Math.PI) // 1.2246467991473532e-16
Math.sin(Math.PI / 2) // 1
Math.sin() // NaN

Math.tan(x)

  • 取得三角函數的正切數值,單位為弧度。
  • 參數 x :數值,單位為弧度。
Math.tan(-1) // -1.5574077246549023
Math.tan(1) // 1.5574077246549023
Math.tan() // NaN

Math.cbrt(x)

  • 回傳數值的立方根。
  • 參數 x :數值
Math.cbrt(-2) // -1.2599210498948732
Math.cbrt(8) // 2
Math.cbrt(27) // 3
Math.cbrt(64) // 4
Math.cbrt(Infinity) // Infinity
Math.cbrt(-Infinity) // -Infinity
Math.cbrt(null) // 0

Math.sqrt(x)

  • 回傳數值的平方根。
  • 參數 x :數值,如為負值回傳NaN
Math.sqrt(-2) // NaN
Math.sqrt(-Infinity) // NaN
Math.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) // -20
Math.min() // Infinity
Math.min('abc') // NaN

Math.max([value1[,value2, …]])

  • 取得參數中的最大值。
  • 參數 value1、value2:數值,如無值回傳-Infinity,或參數無法轉數字,則回傳 NaN
Math.min(10,20) // 20
Math.min(-10,-20) // -10
Math.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 的學習筆記 😉。

***如果有任何想法,也歡迎留言與我分享~***

--

--

Thomas Hung
Thomas 學習筆記

when you feel like quitting,think about why you started.