JavaScript: Đối tượng Math
Đối tượng Math cho phép bạn làm việc với phần toán học thuận tiện hơn, nhanh hơn, trong đối tượng đã có sẵn khá nhiều các thuộc tính và phương thức hữu dụng.
Không giống như các đối tượng khác, bạn không cần phải tạo một thể hiện của đối tượng Math mà bạn sử dụng trực tiếp chính đối tượng Math để truy xuất đến các thuộc tính và phương thức của nó.
Các thuộc tính của đối tượng Math
Thuộc tính |
Giá trị | Mô tả |
---|---|---|
Math.E |
2.718281828459045091 |
Hằng số Euler |
Math.LN2 |
0.6931471805599452862 |
Loga cơ số E của 2 |
Math.LN10 |
2.302585092994045901 |
Loga cơ số E của 10 |
Math.LOG2E |
1.442695040888963387 |
Loga cơ số 2 của E |
Math.Log10E |
0.4342944819032518167 |
Loga cơ số 10 của E |
Math.PI |
3.14592653589793116 |
Số PI |
Math.SQRT1_2 |
0.7071067811865475727 |
Căn bậc 2 của 1/2 |
Math.SQRT2 |
1.414213562373985145 |
Căn bậc 2 của 2 |
Các phương thức của đối tượng Math
Phương thức |
Mô tả |
---|---|
Math.abs(Number) |
Trả về trị tuyệt đối của Number |
Math.acos(Number) |
Tính acos của Number, trả về kết quả dạng radian |
Math.asin(Number) |
Tính asin của Number, trả về kết quả dạng radian |
Math.atan(Number) |
Tính atan của Number, trả về kết quả dạng radian |
Math.atan2(y,x) |
Tính atan của y/x |
Math.ceil(Number) |
Lấy cận trên của Number, ví dụ Math.ceil(4.3) trả về 5 |
Math.cos(Number) |
Tính cos của Number |
Math.exp(x) |
Tính E mũ x (Ex) |
Math.floor(Number) |
Lấy cận dưới của Number, ví dụ Math.floor(4.3) trả về 4 |
Math.log(Number) |
Tính loga cơ số tự nhiên của Number |
Math.max(Number1, Number2, ...) |
Tìm số lớn nhất trong các số |
Math.min(Number1, Number2, ...) |
Tìm số nhỏ nhất trong các số |
Math.pow(x, y) |
Tính x lũy thừa y |
Math.random() |
Tạo một giá trị ngẫu nhiên trong đoạn [0,1] |
Math.round(Number) |
Hàm làm tròn Number |
Math.sin(Number) |
Tính sin của Number |
Math.sqrt(Number) |
Tính căn bậc 2 của Number |
Math.tan(Number) |
Tính tan của Number |
Math.toString(Number) |
Chuyển Number thành dạng chuỗi |
Căn bậc 2, lũy thừa và số PI
Đối tượng Math có nhiều hằng và tất cả chúng đều có dạng chữ in hoa, ví dụ như PI, E. Ví dụ sau đây thể hiện cách sử dụng căn bậc 2, tính lũy thừa và dùng số PI.
<html>
<head><title>The Math Object</title></head>
<body>
<h2>Math object Methods--sqrt(),pow()<br>Math object Property--PI</h2>
<P>
<script language="JavaScript">
1 var num=16;
document.write("<h3>The square root of " +num+ " is ");
2 document.write(Math.sqrt(num),".<br>");
document.write("PI is ");
3 document.write(Math.PI);
document.write(".<br>"+num+" raised to the 3rd power is " );
4 document.write(Math.pow(num,3));
document.write(".</h3></font>");
</script>
</body></html>
Làm tròn lên và làm tròn xuống
Có ba phương thưc của đối tượng Math cho phép làm tròn lên hoặc làm tròn xuống, đó là ceil(), floor() và round(). Bạn cũng có thể sử dụng hàm parseInt() nhưng hàm này mang nghĩa là lấy phần nguyên hoặc chuyển đổi sang số nguyên chứ không có tác dụng làm tròn.
Phương thức ceil()
ceil() có tác dụng làm tròn lên, cụ thể là nó sẽ làm tròn số hiện tại thành số nguyên nhỏ nhất lớn hơn hoặc bằng số hiện tại, ví dụ như 5.02 sẽ thành 6, –5.02 thành -5.
Phương thức floor()
floor() sẽ làm tròn xuống số hiện tại, cụ thể là nó sẽ làm tròn số hiện tại thành số nguyên lớn nhất nhỏ hơn hoặc bằng số hiện tại, ví dụ như 5.02 thành 5, –5.02 thành -6.
Phương thức round()
round() sẽ làm tròn lên khi phần thập phân có giá trị lớn hơn hoặc bằng 0.5, ví dụ như 5.5 làm tròn thành 6, còn lại thì nó sẽ lấy phần nguyên của số hiện thời 5.49 làm tròn thành 5.
Number |
ceil() |
floor() |
round() |
---|---|---|---|
2.55 |
3 |
2 |
3 |
2.30 |
3 |
2 |
2 |
–2.5 |
–2 |
–3 |
–2 |
–2.3 |
–2 |
–3 |
–2 |
Ví dụ:
<html>
<head><title>The Math Object</title></head>
<body>
<h2>Rounding Numbers</h2>
<p>
<h3>
<script language="JavaScript">
1 var num=16.3;
document.write("<I>The number being manipulated is: ", num,
"</I><br><br>");
2 document.write("The <I>Math.floor</I> method rounds down: " +
Math.floor(num) + "<br>");
3 document.write("The <I>Math.ceil</I> method rounds up: " +
Math.ceil(num) +"<br>");
4 document.write("The <I>Math.round</I> method rounds to\
the nearest integer: " + Math.round(num) + "<br>");
</script>
</h3>
</body>
</html>
Tạo số ngẫu nhiên
Số ngẫu nhiên rất hay được sử dụng trong các chương trình JavaScript để tạo ra các ảnh ngẫu nhiên (ví dụ như banner), hoặc các thông báo ngẫu nhiên hay các con số ngẫu nhiên.
Phương thức random() của đối tượng Math sẽ trả về một số ngẫu nhiên trong đoạn 0-1 và được 'gieo' với thời gian hệ thống của máy tính ('gieo' là một ban đầu dùng cho thuật toán tạo số ngẫu nhiên).
Ví dụ:
<html><head><title>Random Numbers</title>
<font size="+1">
<script language="JavaScript">
1 var n = 10;
2 for(i=0; i < 10;i++){
// Generate random numbers between 0 and 10
3 document.write(Math.floor(Math.random()* (n + 1)) +
"<br>");
}
</script>
</head>
<body></body>
</html>
GIẢI THÍCH
- Tạo một biến tên n và được gán giá trị khởi tạo là 10, giá trị này không thuộc vùng tạo số ngẫu nhiên.
- Vòng lặp for được dùng để tạo tiến hành tạo 10 lần số ngẫu nhiên trong đoạn 0-10.
- In ra trình duyệt mỗi lần tạo được số ngẫu nhiên mới.