欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Javascript Math對象

 更新時間:2009年08月13日 00:08:18   作者:  
Math對象是在高中數(shù)學(xué)課就學(xué)過的內(nèi)置對象。它知道解決最復(fù)雜的數(shù)學(xué)問題的所有公式,如果給它要處理的數(shù)字,即能計算出結(jié)果。

Math對象

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

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

屬  性

說    明

E

值e,自然對數(shù)的底

LN10

10的自然對數(shù)

LN2

2的自然對數(shù)

LOG2E

以2為底E的對數(shù)

LOG10E

以10為底E的對數(shù)

PI

值π

SQRT1_2

1/2的平方根

SQRT2

2的平方根

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

Math對象還包括許多專門用于執(zhí)行簡單的及復(fù)雜的數(shù)學(xué)計算的方法。

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

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

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

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

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

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

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

q 方法round()表示標(biāo)準(zhǔn)的舍入函數(shù),如果數(shù)字與下一個整數(shù)的差不超過0.5,則向上舍入,否則向下舍入。這是在初中學(xué)過的舍入規(guī)則。

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

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

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

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

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

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

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

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

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

當(dāng)然,4的平方根是2,就是這行代碼的輸出。

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

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

方    法

說    明

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定義的,結(jié)果也是由實現(xiàn)決定的,因為每個值的計算方法都有很多,從而使得不同的實現(xiàn)生成的結(jié)果的精度也不同。

Math對象的最后一個方法是random(),該方法返回一個0到1之間的隨機(jī)數(shù),不包括0和1。這是在主頁上顯示隨機(jī)引述或新聞的站點常用的工具??捎孟旅娴男问秸{(diào)用random()方法,在某個范圍內(nèi)選擇隨機(jī)數(shù):

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

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

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

使用函數(shù),可很容易地選擇Array中的隨機(jī)項:

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

相關(guān)文章

  • 詳解JavaScript編程中正則表達(dá)式的使用

    詳解JavaScript編程中正則表達(dá)式的使用

    這篇文章主要介紹了詳解JavaScript編程中正則表達(dá)式的使用,并列出了JS所支持的正則第oxo昂,需要的朋友可以參考下
    2015-10-10
  • asm.js使用示例代碼

    asm.js使用示例代碼

    asm.js是一個底層、格外為 JavaScript 子集優(yōu)化的編譯器。這是 Mozilla 研究項目,類似 Emscripten, Mandreel, 和 LLJS,這個示例讓我們簡單學(xué)習(xí)一下asm.js的使用
    2013-11-11
  • JavaScript中的原型繼承基礎(chǔ)學(xué)習(xí)教程

    JavaScript中的原型繼承基礎(chǔ)學(xué)習(xí)教程

    這篇文章主要介紹了JavaScript中的原型繼承基礎(chǔ)學(xué)習(xí)教程,基于原型prototype的繼承是JavaScript中實現(xiàn)面向?qū)ο笾械睦^承特性的基本手段,需要的朋友可以參考下
    2016-05-05
  • 探尋Javascript執(zhí)行效率問題

    探尋Javascript執(zhí)行效率問題

    作為開發(fā)人員,Web頁面加載或刷新的速度對其網(wǎng)站至關(guān)重要。開發(fā)人員在各種瀏覽器中調(diào)試JavaScript的方法要少得多。比如,在Mozilla Firefox中,可以使用Firebug調(diào)試JavaScript,但仍然不能調(diào)整很多性能問題,如瀏覽器呈現(xiàn)消耗時間。
    2014-11-11
  • 對象轉(zhuǎn)換為原始值的實現(xiàn)方法

    對象轉(zhuǎn)換為原始值的實現(xiàn)方法

    下面小編就為大家?guī)硪黄獙ο筠D(zhuǎn)換為原始值的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • a標(biāo)簽的href和onclick 的事件的區(qū)別介紹

    a標(biāo)簽的href和onclick 的事件的區(qū)別介紹

    a標(biāo)簽的href與onclick事件,想必大家不陌生吧,至于它們有什么區(qū)別,你知道嗎?下面就為大家介紹下,感興趣的朋友可以學(xué)習(xí)下,希望對大家有所幫助
    2013-07-07
  • Web面試常問回流reflow與重繪repaint原理及區(qū)別

    Web面試常問回流reflow與重繪repaint原理及區(qū)別

    本文主要為大家講解了瀏覽器的渲染機(jī)制回流與重繪的原理,有需要的朋友可以借鑒參考下,希望可以有所幫助,祝大家多多進(jìn)步早日升職加薪
    2021-09-09
  • JavaScript對象內(nèi)置對象,值類型和引用類型講解

    JavaScript對象內(nèi)置對象,值類型和引用類型講解

    本文講述了JavaScript的一些對象,值的類型和引用類型的講解,詳細(xì)的使用圖文進(jìn)行說明歸納和整理
    2021-06-06
  • javascript中神奇的 Date對象小結(jié)

    javascript中神奇的 Date對象小結(jié)

    日常生活中,各種形式的時間字符到處都是。時間觀念的產(chǎn)生,時間單位、計時工具的發(fā)明,給人類帶來的變化實在一言難盡。今天就來談?wù)勅掌谀切┦聝?。一起來看?JavaScript 中的日期對象 Date。
    2017-10-10
  • js hover 定時器(實例代碼)

    js hover 定時器(實例代碼)

    下面小編就為大家分享一段js hover 定時器的簡單實例。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-11-11

最新評論