Math
Baseline 廣泛可用 *
Math 名稱空間物件包含數學常量和函式的靜態屬性和方法。
描述
與大多數全域性物件不同,Math 不是一個建構函式。您不能將其與 new 運算子 一起使用,也不能將 Math 物件作為函式呼叫。Math 的所有屬性和方法都是靜態的。
注意: 許多 Math 函式的精度是依賴於實現的。
這意味著不同的瀏覽器可能會給出不同的結果。即使是同一個 JavaScript 引擎在不同的作業系統或架構上,也可能給出不同的結果!
靜態屬性
Math.E-
尤拉數,自然對數的底數;約等於
2.718。 Math.LN10-
10的自然對數;約等於2.303。 Math.LN2-
2的自然對數;約等於0.693。 Math.LOG10E-
E的以 10 為底的對數;約等於0.434。 Math.LOG2E-
E的以 2 為底的對數;約等於1.443。 Math.PI-
圓的周長與其直徑的比值;約等於
3.14159。 Math.SQRT1_2-
½ 的平方根;約等於
0.707。 Math.SQRT2-
2的平方根;約等於1.414。 Math[Symbol.toStringTag]-
[Symbol.toStringTag]屬性的初始值是字串"Math"。此屬性用於Object.prototype.toString()。
靜態方法
Math.abs()-
返回輸入值的絕對值。
Math.acos()-
返回輸入值的反餘弦值。
Math.acosh()-
返回輸入值的雙曲反餘弦值。
Math.asin()-
返回輸入值的反正弦值。
Math.asinh()-
返回數字的雙曲反正弦值。
Math.atan()-
返回輸入值的反正切值。
Math.atan2()-
返回其引數商的反正切值。
Math.atanh()-
返回輸入值的雙曲反正切值。
Math.cbrt()-
返回輸入值的立方根。
Math.ceil()-
返回大於或等於輸入值的最小整數。
Math.clz32()-
返回 32 位整數輸入的最高位的零位數。
Math.cos()-
返回輸入值的餘弦值。
Math.cosh()-
返回輸入值的雙曲餘弦值。
Math.exp()-
返回 ex,其中 x 是引數,e 是尤拉數(
2.718...,自然對數的底數)。 Math.expm1()-
返回
exp(x)減去1的結果。 Math.floor()-
返回小於或等於輸入值的最大整數。
Math.f16round()-
返回輸入值最接近的 半精度浮點數表示。
Math.fround()-
返回輸入值最接近的 單精度浮點數表示。
Math.hypot()-
返回其引數平方和的平方根。
Math.imul()-
返回輸入值 32 位整數乘法的結果。
Math.log()-
返回輸入值的自然對數(㏒e;也稱為 ㏑)。
Math.log10()-
返回輸入值的以 10 為底的對數。
Math.log1p()-
返回數字
x的1 + x的自然對數(㏒e;也稱為 ㏑)。 Math.log2()-
返回輸入值的以 2 為底的對數。
Math.max()-
返回零個或多個數字中的最大值。
Math.min()-
返回零個或多個數字中的最小值。
Math.pow()-
返回底數
x的y次冪(即xy)。 Math.random()-
返回一個介於
0和1之間的偽隨機數。 Math.round()-
返回輸入值四捨五入到最接近整數的值。
Math.sign()-
返回輸入值的符號,指示它是正數、負數還是零。
Math.sin()-
返回輸入值的正弦值。
Math.sinh()-
返回輸入值的雙曲正弦值。
Math.sqrt()-
返回輸入值的正平方根。
Math.sumPrecise()-
返回傳入的可迭代數字的總和,避免中間結果中的浮點精度損失。
Math.tan()-
返回輸入值的正切值。
Math.tanh()-
返回輸入值的雙曲正切值。
Math.trunc()-
返回輸入值的整數部分,刪除任何小數位數。
示例
度與弧度之間的轉換
三角函式 sin()、cos()、tan()、asin()、acos()、atan() 和 atan2() 期望(並返回)以弧度為單位的角度。
由於人們傾向於以度為單位思考,並且某些函式(如 CSS 變換)可以接受度,因此提供用於在這兩者之間進行轉換的函式非常有用。
function degToRad(degrees) {
return degrees * (Math.PI / 180);
}
function radToDeg(rad) {
return rad / (Math.PI / 180);
}
計算等邊三角形的高度
如果我們想計算一個等邊三角形的高度,並且我們知道它的邊長是 100,我們可以使用公式:鄰邊長乘以角度的正切等於對邊長。

在 JavaScript 中,我們可以用以下方式實現:
50 * Math.tan(degToRad(60));
我們使用 degToRad() 函式將 60 度轉換為弧度,因為 Math.tan() 期望以弧度為單位的輸入值。
返回兩個邊界之間的隨機整數
這可以透過結合使用 Math.random() 和 Math.floor() 來實現。
function random(min, max) {
const num = Math.floor(Math.random() * (max - min + 1)) + min;
return num;
}
random(1, 10);
規範
| 規範 |
|---|
| ECMAScript® 2026 語言規範 # sec-math-object |
瀏覽器相容性
載入中…