Math對象應用詳解
JavaScript中的Math對象提供了大量的算術運算功能和數值操作方法。
JavaScript中的Math對象的與眾不同之處在于,它是一個全局對象。在使用Math對象之前,既不需要將一個變量聲明為Math對象,也不需要定義一個新的Math對象,JavaScript將自動地創建好Math對象,我們只須直接使用它即可。這使得Math對象使用起來很容易。
Math對象的屬性中包含一些經常使用的數學常量,如PI屬性(即圓周率近似值3.141592653589793)。通常情況下,要訪問這些屬性,只須在Math之后加上一個點號(.),然后寫出要訪問的屬性名。例如,要計算一個圓的面積,可以使用如下代碼:
var radius = prompt("Give the radius of the circle", "");
var area = (Math.PI)*radius*radius;
document.write("The area is " + area);
除加(+)、減(–)、乘(*)、除(/) 4個標準算術運算外,Math對象還包含一些復雜的數學方法,用于完成算術運算無法實現的復雜計算,例如cos()方法用于計算弧度參數的余弦函數。下面將介紹一些常見的數學方法。
1.abs()方法
abs()方法返回所傳入參數的絕對值。實際上,絕對值就是一個數去掉正負號之后的數值。例如,–1的絕對值是1,–4的絕對值是4等。對于正數,其絕對值就是該正數本身,例如,1的絕對值就是1。
例如:下面的代碼對–101取絕對值,并把結果輸出在頁面上:
var myNumber = -101;
document.write(Math.abs(myNumber));
2.ceil()方法
ceil()方法用于向上取整,它把一個數值向上舍入到最接近的最小整數,即對于Math.ceil(n)方法,它將返回大于或等于n的最小整數。例如,10.01向上取整后為11,–9.99向上取整后為–9(這是因為對于負數,–9大于–10)。ceil()方法只有一個參數,即需要向上取整的數值。
ceil()方法的使用與第2章中介紹過的parseInt()方法是不同的。parseInt()方法只是簡單地截斷小數點之后的所有數字,把整數部分保留下來。而ceil(n)方法將向上取整,返回大于或等于n的最小整數。
例如,下面的代碼將在頁面上輸出兩行信息,第一行為ceil()方法對101.01向上取整的結果102,第二行為parseInt()方法取整的結果101:
var myNumber = 101.01;
document.write(Math.ceil(myNumber) + "<BR>");
document.write(parseInt(myNumber));
3.floor()方法
與ceil()方法類似,floor()方法也用于對一個數字進行取整,所不同的是,floor()方法用于向下取整,它把一個數值向下舍入到最接近的最大整數,即對于Math.floor(n)方法,它將返回小于或等于n的最大整數。例如,Math.floor(10.01)將返回10,而Math.floor(–9.99)將返回–10。
4.round()方法
round()方法用于對一個數值進行四舍五入,即當一個數小數部分大于等于0.5時,則向上舍入,小于等于0.5時則向下舍入。
例如,對于如下代碼:
var myNumber = 44.5;
document.write(Math.round(myNumber) + "<BR>");
myNumber = 44.49;
document.write(Math.round(myNumber));
對于44.5將四舍五入為45,而對于44.49則四舍五入為44。
5.關于取整方法的小結
正如上面所述,ceil()方法、 floor()方法和round()方法都可以進行取整操作。但各個方法的取整操作是不同的。對于floor(n)方法,它返回小于或等于n的最大整數;對于ceil(n)方法,它返回大于或等于n的最小整數;而round(n)方法將對n進行四舍五入。這幾個方法可能容易混淆,表4-3格則用實例進行了說明:它顯示了一列數值,以及將這些數值作為參數分別傳入parseInt()函數、ceil()方法、floor()方法和round()方法時的返回值。
表? 4-3
參??? 數 |
parseInt() 方法的返回值 |
ceil() 方法的返回值 |
floor() 方法的返回值 |
round() 方法的返回值 |
10.25 |
10 |
11 |
10 |
10 |
10.75 |
10 |
11 |
10 |
11 |
10.5 |
10 |
11 |
10 |
11 |
–10.25 |
–10 |
–10 |
–11 |
–10 |
–10.75 |
–10 |
–10 |
–11 |
–11 |
–10.5 |
–10 |
–10 |
–11 |
–10 |
注意,與表中其他的方法不同的是:parseInt()函數是一個JavaScript內置對象,而不是Math對象的一個方法。
posted on 2010-01-22 15:01 飛熊 閱讀(277) 評論(0) 編輯 收藏 所屬分類: javaScript