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

          <2010年1月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 城步| 得荣县| 确山县| 手游| 青河县| 清河县| 若尔盖县| 顺义区| 赣州市| 焦作市| 巫溪县| 宁陕县| 蓬安县| 荥经县| 徐闻县| 澄迈县| 泗水县| 铁力市| 凌海市| 奇台县| 华容县| 开化县| 侯马市| 昆明市| 玉环县| 敦煌市| 繁昌县| 政和县| 吴忠市| 谷城县| 清河县| 鄂尔多斯市| 屏东县| 新兴县| 晋江市| 隆尧县| 即墨市| 开远市| 措美县| 清涧县| 永昌县|