DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> Javascript之Math對象詳解
Javascript之Math對象詳解
編輯:JavaScript基礎知識     

Math對象不同於上述的對象,它可以說是一個公共數學類,裡面有很多數學方法,用於各種數學運算
但是Math對象不需要構造,對於其中的方法直接使用即可

1、常量(即屬性)

E       返回算術常量 e,即自然對數的底數(約等於2.718)

E 返回算術常量 e,即自然對數的底數(約等於2.718) LN2 返回 2 的自然對數(約等於0.693) LN10 返回 10 的自然對數(約等於2.302) LOG2E 返回以 2 為底的 e 的對數(約等於 1.414) LOG10E 返回以 10 為底的 e 的對數(約等於0.434) PI 返回圓周率(約等於3.14159) SQRT1_2 返回返回 2 的平方根的倒數(約等於 0.707) SQRT2 返回 2 的平方根(約等於 1.414)

下面是它們的值:

復制代碼 代碼如下:document.write("Math.E = "+Math.E+"<br>");
document.write("Math.LN2 = "+Math.LN2+"<br>");
document.write("Math.LN10 = "+Math.LN10+"<br>");
document.write("Math.LOG2E = "+Math.LOG2E+"<br>");
document.write("Math.LOG10E = "+Math.LOG10E+"<br>");
document.write("Math.PI = "+Math.PI+"<br>");
document.write("Math.SQRT1_2 = "+Math.SQRT1_2+"<br>");
document.write("Math.SQRT2 = "+Math.SQRT2+"<br>");

輸出結果:

Math.E = 2.718281828459045
Math.LN2 = 0.6931471805599453
Math.LN10 = 2.302585092994046
Math.LOG2E = 1.4426950408889634
Math.LOG10E = 0.4342944819032518
Math.PI = 3.141592653589793
Math.SQRT1_2 = 0.7071067811865476
Math.SQRT2 = 1.4142135623730951

2、abs() 方法可返回數的絕對值

Math.abs(x);x必須為一個數值,此數可以是整數,小數都可以
document.write(Math.abs(-2.77));//輸出2.77

3、acos(x) 返回數的反余弦值。

Math.acos(x);x必須是 -1.0 ~ 1.0 之間的數
如果x不在上述范圍,則返回NaN

4、asin() 方法可返回一個數的反正弦值。

Math.asin(x);x必須是一個數值,該值介於 -1.0 ~ 1.0 之間。
如果參數 x 超過了 -1.0 ~ 1.0 的范圍,那麼浏覽器將返回 NaN。

5、atan() 方法可返回數字的反正切值。

Math.atan(x);x 必需。必須是一個數值。
返回的值是 -PI/2 到 PI/2 之間的弧度值。

6、atan2() 方法可返回從 x 軸到點 (x,y) 之間的角度。

Math.atan2(y,x)
-PI 到 PI 之間的值,是從 X 軸正向逆時針旋轉到點 (x,y) 時經過的角度。

7、ceil() 方法可對一個數進行上捨入。

什麼是上捨入?即大於等於 x,並且與它最接近的整數。
Math.ceil(x);x 必需。必須是一個數值。

復制代碼 代碼如下:document.write(Math.ceil(0.60) + "<br />")
document.write(Math.ceil(0.40) + "<br />")
document.write(Math.ceil(5) + "<br />")
document.write(Math.ceil(5.1) + "<br />")
document.write(Math.ceil(-5.1) + "<br />")
document.write(Math.ceil(-5.9))

輸出為:

1
1
5
6
-5
-5

對於負數,你懂的

8、cos() 方法可返回一個數字的余弦值。

Math.cos(x);x 必需。必須是一個數值。 返回的是 -1.0 到 1.0 之間的數。、
x其實要求是輸入一個弧度值,例如--->
π代表的是180°等,π即Math.PI
document.write(Math.cos(Math.PI));
輸出為-1

但是假如:

復制代碼 代碼如下:document.write(Math.cos(Math.PI/2));
輸出為:6.123233995736766e-17

而:

復制代碼 代碼如下:document.write(Math.cos(Math.PI/3));
輸出為:0.5000000000000001

為什麼會出現這些怪異的數字呢?

其實大家都知道document.write(Math.cos(Math.PI/2));應該輸出0,而在Javascript中可能沒有求的0,所以就用了一個非常非常小的數代替
類似的document.write(Math.cos(Math.PI/3));應該是0.5才對,但是卻在最後面多了一位
這些是小問題,沒啥好說的,本身寄存器就不可能表示所有數的,因此在計算過程中出現差錯也很正常

9、exp() 方法可返回 e 的 x 次冪的值。

Math.exp(x);x 必需。任意數值或表達式。被用作指數。
返回 e 的 x 次冪。e 代表自然對數的底數,其值近似為 2.71828。
document.write(Math.exp(1) + "<br />");//輸出2.718281828459045

10、floor() 方法可對一個數進行下捨入。

和ceil()方法相對應,floor()方法是對一個數進行下捨入,即小於等於 x,且與 x 最接近的整數。
Math.floor(x);

復制代碼 代碼如下:document.write(Math.floor(0.60) + "<br />")
document.write(Math.floor(0.40) + "<br />")
document.write(Math.floor(5) + "<br />")
document.write(Math.floor(5.1) + "<br />")
document.write(Math.floor(-5.1) + "<br />")
document.write(Math.floor(-5.9))

輸出為:

0
0
5
5
-6
-6

對於負數,你懂的

11、log() 方法可返回一個數的自然對數。

Math.log(x);//參數 x 必須大於 0,大於0則結果為NaN,等於0則為-Infinity

復制代碼 代碼如下:document.write(Math.log(2.7183) + "<br />")
document.write(Math.log(2) + "<br />")
document.write(Math.log(1) + "<br />")
document.write(Math.log(0) + "<br />")
document.write(Math.log(-1))

輸出為:

1.0000066849139877
0.6931471805599453
0
-Infinity
NaN
從上面我們可以看出

12、max() 方法可返回兩個指定的數中帶有較大的值的那個數。

Math.max(x...),//x 為0或多個值。在 ECMASCript v3 之前,該方法只有兩個參數。
返回值:
參數中最大的值。
如果沒有參數,則返回 -Infinity。
如果有某個參數為 NaN,或是不能轉換成數字的非數字值,則返回 NaN。
如下例:

復制代碼 代碼如下:document.write(Math.max(5,3,8,1));//8
document.write(Math.max(5,3,8,'M'));//NaN
document.write(Math.max(5));//5
document.write(Math.max());//-Infinity

13、min() 方法可返回指定的數字中帶有最低值的數字。

Math.min(x,y);x為0或多個值。在 ECMASCript v3 之前,該方法只有兩個參數。
返回值:
參數中最小的值。
如果沒有參數,則返回 Infinity。
如果有某個參數為 NaN,或是不能轉換成數字的非數字值,則返回 NaN。
和max()方法使用類似

14、pow() 方法可返回 x 的 y 次冪的值。

Math.pow(x,y);//
x 必需。底數。必須是數字。
y 必需。冪數。必須是數字。
返回值:
如果結果是虛數或負數,則該方法將返回 NaN。如果由於指數過大而引起浮點溢出,則該方法將返回 Infinity。
如下例:

復制代碼 代碼如下:document.write(Math.pow()+'<br>');
document.write(Math.pow(2)+'<br>');
document.write(Math.pow(2,2)+'<br>');
document.write(Math.pow(2,2,2)+'<br>');
document.write(Math.pow('M',2)+'<br>');

輸出:

NaN
NaN
4
4
NaN

15、random() 方法可返回介於 0 ~ 1 之間的一個隨機數。

Math.random();//無參
返回:
0.0 ~ 1.0 之間的一個偽隨機數。
何為偽隨機數?
真正意義的隨機數是某次隨機事件產生的結果,經過無數次後表現為呈現某種概率論,它是不可預測的
而偽隨機數是根據偽隨機算法實現的,它是采用了一種模擬隨機的算法,因此被稱為偽隨機數
復制代碼 代碼如下:document.write(Math.random())
0.12645312909485157

16、round() 方法可把一個數字捨入為最接近的整數。

Math.round(x),x 必需。必須是數字。
對於 0.5,該方法將進行上捨入。
例如,3.5 將捨入為 4,而 -3.5 將捨入為 -3。
其實就感覺此方法是用ceil()和floor()方法結合實現的

復制代碼 代碼如下:document.write(Math.round(0.60) + "<br />")
document.write(Math.round(0.50) + "<br />")
document.write(Math.round(0.49) + "<br />")
document.write(Math.round(-4.40) + "<br />")
document.write(Math.round(-4.60))

輸出為:

1
1
0
-4
-5

17、sin() 方法可返回一個數字的正弦。

Math.sin(x),x 必需。一個以弧度表示的角。將角度乘以 0.017453293 (2PI/360)即可轉換為弧度。
返回值:
參數 x 的正弦值。返回值在 -1.0 到 1.0 之間。
復制代碼 代碼如下:document.write(Math.sin(3) + "<br />")
document.write(Math.sin(-3) + "<br />")
document.write(Math.sin(0) + "<br />")
document.write(Math.sin(Math.PI) + "<br />")
document.write(Math.sin(Math.PI/2)

輸出為:

0.1411200080598672
-0.1411200080598672
0
1.2246063538223772e-16
1

18、sqrt() 方法可返回一個數的平方根。

Math.sqrt(x);//x 必需,必須是大於等於 0 的數。
返回值:
參數 x 的平方根。如果 x 小於 0,則返回 NaN。
它相當於Math.pow(x,0.5);

19、tan() 方法可返回一個表示某個角的正切的數字。

Math.tan(x),//x 必需。一個以弧度表示的角。將角度乘以 0.017453293 (2PI/360)即可轉換為弧度。

查看更多JavaScript的語法,大家可以關注:《JavaScript 參考教程》、《JavaScript代碼風格指南》,也希望大家多多支持。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved