Math
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
Đối tượng namespace Math chứa các thuộc tính và phương thức tĩnh dành cho các hằng số và hàm toán học.
Math hoạt động với kiểu Number. Nó không hoạt động với BigInt.
Mô tả
Khác với hầu hết các đối tượng toàn cục, Math không phải là một constructor. Bạn không thể sử dụng nó với toán tử new hoặc gọi đối tượng Math như một hàm. Tất cả các thuộc tính và phương thức của Math đều là tĩnh.
Note:
Nhiều hàm Math có độ chính xác phụ thuộc vào triển khai.
Điều này có nghĩa là các trình duyệt khác nhau có thể cho kết quả khác nhau. Thậm chí cùng một JavaScript engine trên hệ điều hành hoặc kiến trúc khác nhau cũng có thể cho kết quả khác nhau!
Thuộc tính tĩnh
Math.E-
Số Euler và cơ số của logarithm tự nhiên; xấp xỉ
2.718. Math.LN10-
Logarithm tự nhiên của
10; xấp xỉ2.303. Math.LN2-
Logarithm tự nhiên của
2; xấp xỉ0.693. Math.LOG10E-
Logarithm cơ số 10 của
E; xấp xỉ0.434. Math.LOG2E-
Logarithm cơ số 2 của
E; xấp xỉ1.443. Math.PI-
Tỉ số chu vi của một đường tròn so với đường kính của nó; xấp xỉ
3.14159. Math.SQRT1_2-
Căn bậc hai của ½; xấp xỉ
0.707. Math.SQRT2-
Căn bậc hai của
2; xấp xỉ1.414. Math[Symbol.toStringTag]-
Giá trị khởi tạo của thuộc tính
[Symbol.toStringTag]là chuỗi"Math". Thuộc tính này được sử dụng trongObject.prototype.toString().
Phương thức tĩnh
Math.abs()-
Trả về giá trị tuyệt đối của đầu vào.
Math.acos()-
Trả về arccosine của đầu vào.
Math.acosh()-
Trả về arccosine hyperbolic của đầu vào.
Math.asin()-
Trả về arcsine của đầu vào.
Math.asinh()-
Trả về arcsine hyperbolic của một số.
Math.atan()-
Trả về arctangent của đầu vào.
Math.atan2()-
Trả về arctangent của thương của các đối số.
Math.atanh()-
Trả về arctangent hyperbolic của đầu vào.
Math.cbrt()-
Trả về căn bậc ba của đầu vào.
Math.ceil()-
Trả về số nguyên nhỏ nhất lớn hơn hoặc bằng đầu vào.
Math.clz32()-
Trả về số bit zero đứng đầu của đầu vào số nguyên 32-bit.
Math.cos()-
Trả về cosine của đầu vào.
Math.cosh()-
Trả về cosine hyperbolic của đầu vào.
Math.exp()-
Trả về ex, trong đó x là đối số, và e là số Euler (
2.718…, cơ số của logarithm tự nhiên). Math.expm1()-
Trả về kết quả của
exp(x)trừ đi1. Math.floor()-
Trả về số nguyên lớn nhất nhỏ hơn hoặc bằng đầu vào.
Math.f16round()-
Trả về biểu diễn số thực độ chính xác một nửa (half precision) gần nhất của đầu vào.
Math.fround()-
Trả về biểu diễn số thực độ chính xác đơn (single precision) gần nhất của đầu vào.
Math.hypot()-
Trả về căn bậc hai của tổng bình phương các đối số.
Math.imul()-
Trả về kết quả của phép nhân số nguyên 32-bit của các đầu vào.
Math.log()-
Trả về logarithm tự nhiên (㏒e; hay còn gọi là ㏑) của đầu vào.
Math.log10()-
Trả về logarithm cơ số 10 của đầu vào.
Math.log1p()-
Trả về logarithm tự nhiên (㏒e; hay còn gọi là ㏑) của
1 + xvới sốx. Math.log2()-
Trả về logarithm cơ số 2 của đầu vào.
Math.max()-
Trả về số lớn nhất trong số không hoặc nhiều số.
Math.min()-
Trả về số nhỏ nhất trong số không hoặc nhiều số.
Math.pow()-
Trả về cơ số
xlũy thừay(tức làxy). Math.random()-
Trả về một số giả ngẫu nhiên trong khoảng từ
0đến1. Math.round()-
Trả về giá trị của đầu vào được làm tròn đến số nguyên gần nhất.
Math.sign()-
Trả về dấu của đầu vào, cho biết nó là dương, âm hay bằng không.
Math.sin()-
Trả về sine của đầu vào.
Math.sinh()-
Trả về sine hyperbolic của đầu vào.
Math.sqrt()-
Trả về căn bậc hai dương của đầu vào.
Math.sumPrecise()-
Trả về tổng của một iterable các số được truyền vào, tránh mất độ chính xác dấu phẩy động trong các kết quả trung gian.
Math.tan()-
Trả về tangent của đầu vào.
Math.tanh()-
Trả về tangent hyperbolic của đầu vào.
Math.trunc()-
Trả về phần nguyên của đầu vào, loại bỏ bất kỳ chữ số thập phân nào.
Ví dụ
>Chuyển đổi giữa độ và radian
Các hàm lượng giác sin(), cos(), tan(), asin(), acos(), atan(), và atan2() nhận (và trả về) các góc tính bằng radian.
Vì con người thường nghĩ theo độ, và một số hàm (chẳng hạn như CSS transforms) có thể chấp nhận độ, nên việc có sẵn các hàm chuyển đổi giữa hai đơn vị là một ý hay:
function degToRad(degrees) {
return degrees * (Math.PI / 180);
}
function radToDeg(rad) {
return rad / (Math.PI / 180);
}
Tính chiều cao của một tam giác đều
Nếu chúng ta muốn tính chiều cao của một tam giác đều và biết độ dài cạnh của nó là 100, chúng ta có thể sử dụng công thức độ dài cạnh kề nhân với tang của góc bằng cạnh đối diện.

Trong JavaScript, chúng ta có thể làm điều này như sau:
50 * Math.tan(degToRad(60));
Chúng ta sử dụng hàm degToRad() để chuyển đổi 60 độ thành radian, vì Math.tan() nhận giá trị đầu vào tính bằng radian.
Trả về một số nguyên ngẫu nhiên trong khoảng hai giới hạn
Điều này có thể được thực hiện bằng cách kết hợp Math.random() và Math.floor():
function random(min, max) {
const num = Math.floor(Math.random() * (max - min + 1)) + min;
return num;
}
random(1, 10);
Thông số kỹ thuật
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-math-object> |