JavaScript中的Math對象提供了大量的算術運算功能和數值操做方法。javascript
JavaScript中的Math對象的不同凡響之處在於,它是一個全局對象。在使用Math對象以前,既不須要將一個變量聲明爲Math對象,也不須要定義一個新的Math對象,JavaScript將自動地建立好Math對象,咱們只須直接使用它便可。這使得Math對象使用起來很容易。html
Math對象的屬性中包含一些常常使用的數學常量,如PI屬性(即圓周率近似值3.141592653589793)。一般狀況下,要訪問這些屬性,只須在Math以後加上一個點號(.),而後寫出要訪問的屬性名。例如,要計算一個圓的面積,可使用以下代碼:java
var radius = prompt("Give the radius of the circle", "");函數
var area = (Math.PI)*radius*radius;this
document.write("The area is " area);spa
除加(+)、減(–)、乘(*)、除(/) 4個標準算術運算外,Math對象還包含一些複雜的數學方法,用於完成算術運算沒法實現的複雜計算,例如cos()方法用於計算弧度參數的餘弦函數。下面將介紹一些常見的數學方法。htm
1.abs()方法對象
abs()方法返回所傳入參數的絕對值。實際上,絕對值就是一個數去掉正負號以後的數值。例如,–1的絕對值是1,–4的絕對值是4等。對於正數,其絕對值就是該正數自己,例如,1的絕對值就是1。ip
例如:下面的代碼對–101取絕對值,並把結果輸出在頁面上:ci
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對象的一個方法。
若是對JavaScript中各個取整方法還不熟悉的話,下面的這個例子將演示這些方法的使用,以增進咱們對各個取整方法的理解。首先,經過提示框得到用戶輸入的一個數值,而後將該數值做爲參數分別傳入parseInt()函數、ceil()方法、 floor()方法和round()方法,各個方法的返回值將以一個表格的形式顯示在頁面上。
<html>
<body>
<script language="JavaScript" type="text/javascript">
var myNumber = prompt("Enter the number to be rounded","");
document.write("<h3>The number you entered was " myNumber "</h3><br>");
document.write("<p>The rounding results for this number are</p>");
document.write("<table width=150 border=1>");
document.write("<tr><th>Method</th><th>Result</th></tr>");
document.write("<tr><td>parseInt()</td><td>" parseInt(myNumber)
"</td></tr>");
document.write("<tr><td>ceil()</td><td>" Math.ceil(myNumber)
"</td></tr>");
document.write("<tr><td>floor()</td><td>" Math.floor(myNumber)
"</td></tr>");
document.write("<tr><td>round()</td><td>" Math.round(myNumber)
"</td></tr>");
document.write("</table>")
</script>
</body>
</html>