Math對象應(yīng)用詳解

          JavaScript中的Math對象提供了大量的算術(shù)運(yùn)算功能和數(shù)值操作方法。

          JavaScript中的Math對象的與眾不同之處在于,它是一個(gè)全局對象。在使用Math對象之前,既不需要將一個(gè)變量聲明為Math對象,也不需要定義一個(gè)新的Math對象,JavaScript將自動地創(chuàng)建好Math對象,我們只須直接使用它即可。這使得Math對象使用起來很容易。

          Math對象的屬性中包含一些經(jīng)常使用的數(shù)學(xué)常量,如PI屬性(即圓周率近似值3.141592653589793)。通常情況下,要訪問這些屬性,只須在Math之后加上一個(gè)點(diǎn)號(.),然后寫出要訪問的屬性名。例如,要計(jì)算一個(gè)圓的面積,可以使用如下代碼:

          var radius = prompt("Give the radius of the circle", "");

          var area = (Math.PI)*radius*radius;

          document.write("The area is " + area);

          除加(+)、減(–)、乘(*)、除(/) 4個(gè)標(biāo)準(zhǔn)算術(shù)運(yùn)算外,Math對象還包含一些復(fù)雜的數(shù)學(xué)方法,用于完成算術(shù)運(yùn)算無法實(shí)現(xiàn)的復(fù)雜計(jì)算,例如cos()方法用于計(jì)算弧度參數(shù)的余弦函數(shù)。下面將介紹一些常見的數(shù)學(xué)方法。

          1.a(chǎn)bs()方法

          abs()方法返回所傳入?yún)?shù)的絕對值。實(shí)際上,絕對值就是一個(gè)數(shù)去掉正負(fù)號之后的數(shù)值。例如,–1的絕對值是1,–4的絕對值是4等。對于正數(shù),其絕對值就是該正數(shù)本身,例如,1的絕對值就是1。

          例如:下面的代碼對–101取絕對值,并把結(jié)果輸出在頁面上:

          var myNumber = -101;

          document.write(Math.abs(myNumber));

          2.ceil()方法

          ceil()方法用于向上取整,它把一個(gè)數(shù)值向上舍入到最接近的最小整數(shù),即對于Math.ceil(n)方法,它將返回大于或等于n的最小整數(shù)。例如,10.01向上取整后為11,–9.99向上取整后為–9(這是因?yàn)閷τ谪?fù)數(shù),–9大于–10)。ceil()方法只有一個(gè)參數(shù),即需要向上取整的數(shù)值。

          ceil()方法的使用與第2章中介紹過的parseInt()方法是不同的。parseInt()方法只是簡單地截?cái)嘈?shù)點(diǎn)之后的所有數(shù)字,把整數(shù)部分保留下來。而ceil(n)方法將向上取整,返回大于或等于n的最小整數(shù)。

          例如,下面的代碼將在頁面上輸出兩行信息,第一行為ceil()方法對101.01向上取整的結(jié)果102,第二行為parseInt()方法取整的結(jié)果101:

          var myNumber = 101.01;

          document.write(Math.ceil(myNumber) + "<BR>");

          document.write(parseInt(myNumber));

          3.floor()方法

          與ceil()方法類似,floor()方法也用于對一個(gè)數(shù)字進(jìn)行取整,所不同的是,floor()方法用于向下取整,它把一個(gè)數(shù)值向下舍入到最接近的最大整數(shù),即對于Math.floor(n)方法,它將返回小于或等于n的最大整數(shù)。例如,Math.floor(10.01)將返回10,而Math.floor(–9.99)將返回–10。

          4.round()方法

          round()方法用于對一個(gè)數(shù)值進(jìn)行四舍五入,即當(dāng)一個(gè)數(shù)小數(shù)部分大于等于0.5時(shí),則向上舍入,小于等于0.5時(shí)則向下舍入。

          例如,對于如下代碼:

          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.關(guān)于取整方法的小結(jié)

          正如上面所述,ceil()方法、 floor()方法和round()方法都可以進(jìn)行取整操作。但各個(gè)方法的取整操作是不同的。對于floor(n)方法,它返回小于或等于n的最大整數(shù);對于ceil(n)方法,它返回大于或等于n的最小整數(shù);而round(n)方法將對n進(jìn)行四舍五入。這幾個(gè)方法可能容易混淆,表4-3格則用實(shí)例進(jìn)行了說明:它顯示了一列數(shù)值,以及將這些數(shù)值作為參數(shù)分別傳入parseInt()函數(shù)、ceil()方法、floor()方法和round()方法時(shí)的返回值。

          表? 4-3

          參??? 數(shù)

          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()函數(shù)是一個(gè)JavaScript內(nèi)置對象,而不是Math對象的一個(gè)方法。

          posted on 2010-01-22 15:01 飛熊 閱讀(282) 評論(0)  編輯  收藏 所屬分類: javaScript

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

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 绥江县| 外汇| 莱阳市| 平利县| 安福县| 娄烦县| 富阳市| 凤冈县| 同德县| 星座| 葫芦岛市| 齐齐哈尔市| 慈利县| 清镇市| 天门市| 蕲春县| 新蔡县| 铜陵市| 阿鲁科尔沁旗| 南昌市| 静安区| 正定县| 玉门市| 东兰县| 界首市| 江达县| 甘南县| 革吉县| 文成县| 泸州市| 余江县| 屏山县| 惠水县| 郴州市| 景泰县| 霞浦县| 济阳县| 砚山县| 五峰| 容城县| 连山|