DIV CSS 佈局教程網

Javascript Math對象
編輯:JavaScript基礎知識     

Math對象

Math對象是在高中數學課就學過的內置對象。它知道解決最復雜的數學問題的所有公式,如果給它要處理的數字,即能計算出結果。

Math對象有幾個屬性,主要是數學界的專用值。下表類出了這些屬性:

屬  性

說    明

E

值e,自然對數的底

LN10

10的自然對數

LN2

2的自然對數

LOG2E

以2為底E的對數

LOG10E

以10為底E的對數

PI

值π

SQRT1_2

1/2的平方根

SQRT2

2的平方根

雖然這些值的意義與用法不在本書討論范圍內,但如果清楚它們是什麼,在需要時,即可使用它們。

Math對象還包括許多專門用於執行簡單的及復雜的數學計算的方法。

方法min()和max()用於判斷一組數中的最大值和最小值。這兩個方法都可接受任意多個參數:

對於數字3、54、32和16,max()返回54,min()返回3。用這些方法,可免去用循環或if語句來判斷一組數中的最大值。

另一個方法abs()返回數字的絕對值。絕對值是負數的正值版本(正數的絕對值就是它自身)。

這個例子中,abs(-1)返回1,abs(1)也返回1。

下一組方法用於把小數捨入成整數。處理捨入操作的方法有三個,即ceil()、floor()和round(),它們的處理方法不同:

q 方法ceil()表示向上捨入函數,總是把數字向上捨入到最接近的值。

q 方法floor()表示向下捨入函數,總是把數字向下捨入到最接近的值。

q 方法round()表示標准的捨入函數,如果數字與下一個整數的差不超過0.5,則向上捨入,否則向下捨入。這是在初中學過的捨入規則。

為說明每種方法的處理方式,考慮使用值25.5:

對於ceil()和round(),傳遞25.5,返回的是26,而floor()返回的是25。注意不要交替使用這些方法,因為最後可能得到與預期不符的結果。

另一組方法與指數的用法有關。這些方法包括exp(),用於把Math.E升到指定的冪;log()用於返回特定數字的自然對數;pow()用於把指定的數字升到指定的冪;sqrt()用於返回指定數字的平方根。

方法exp()和log()本質上功能相反,exp()把Math.E升到特定的冪,log()則判斷Math.E的多少次指數才等於指定的值。例如:

這裡,首先用exp()把Math.E升到10次冪,然後log()返回10,即等於數字iNum必需的指數。很多人都對此感到迷茫。全世界的高中生和數學系的大學生都被此類問題難倒過。如果你對自然對數一無所知,那麼有可能永遠都不需要為它編寫代碼。

方法pow()用於把數字升到指定的冪,如把2升到10次冪(在數學中表示為210):

pow()的第一個參數是基數,此例子中是2。第二個參數是要升到的冪,此例子中是10。

不建議把Math.E作為pow()方法的基數。最好使用exp()Math.E進行升冪運算,因為它是專用運算,計算出的值更精確。

這組方法中的最後一個方法是sqrt(),用於返回指定數字的平方根。它只有一個參數,即要求平方根的數字。要求4的平方根,只需要用一行代碼:

當然,4的平方根是2,就是這行代碼的輸出。

你也許會問“為什麼平方根必須利用指數”?實際上,數字平方根就是它的1/2次冪。例如,21/2就是2的平方根。

Math對象還有一整套三角函數方法。下表列出了這些方法:

方    法

說    明

acos(x)

返回x的反余弦值

asin(x)

返回x的反正弦值

atan(x)

返回x的反正切值

atan2(y,x)

返回y/x的反余弦值

cos(x)

返回x的余弦值

sin(x)

返回x的正弦值

tan(x)

返回x的正切值

即使這些方法是ECMA-262定義的,結果也是由實現決定的,因為每個值的計算方法都有很多,從而使得不同的實現生成的結果的精度也不同。

Math對象的最後一個方法是random(),該方法返回一個0到1之間的隨機數,不包括0和1。這是在主頁上顯示隨機引述或新聞的站點常用的工具。可用下面的形式調用random()方法,在某個范圍內選擇隨機數:

這裡使用方法floor(),因為random()返回的都是小數值,也就是說,用它乘以一個數,然後再加上一個數,得到的仍然是小數值。通常你想選擇一個隨機整數值。因此,必須使用floor()方法。如果想選擇一個1到10之間的數,代碼如下:

可能出現的值有10個(1到10),這些值中的第一個是1。如果想選擇2到10之間的值,代碼如下:

從2到10,只有9個數字,所以選項總數為9,其中第一個值是2。許多時候,使用計算選項總數的函數和第一個可用的值更容易些:

使用函數,可很容易地選擇Array中的隨機項:

這裡,selectFrom()函數的第二個參數是數組的長度減1,即數組中最後一個元素的位置。

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