JavaScript那些事兒(2):Math,Infinity與NaN,它們不是浮雲,中學數學都學過

來源:互聯網
上載者:User

1、Math對象定義的數學運算

      JavaScript支援一些複雜的算術運算,這些複雜運算通過作為Math對象的屬性定義的函數和常量來實現:

Math.pow(2,53)    //=>9007199254740992:2的53次冪

Math.round(.6)                 //=>1.0:四捨五入

Math.ceil(.6)                     //=>1.0:向上求整

Math.floor(.6)                   //=>0.0:向下求整

Math.abs(-5)                    //=>5:求絕對值

Math.max(x,y,z)               //返回最大值  

Math.min(x,y,z)                //返回最小值

Math.random()                 //產生一個大於等於0小於1.0的偽隨機數

Math.PI                            //π:圓周率

Math.E                              //e:自然對數的底數

Math.sqrt(3)                     //3的平方根

Math.pow(3,1/3)              //3的立方根

Math.sin(0)                       //三角函數:還有Math.cos,Math.atan等

Math.log(10)                     //10的自然對數

Math.log(100)/Math.LN10 //以10為底100的對數

Math.log(512)/Math.LN2   //以2為底512的對數

Math.exp(3)                      //e的三次冪

 

2、全域變數Infinity和NaN

(1)它倆表示神馬呢?

      JavaScript預定義了全域變數Infinity和NaN,用來表示正無窮大和非數字值。

(2)在哪裡會見到這兩匹神馬?

      JavaScript中的算術運算在溢出(overflow)、下溢(underflow)或被零整除時不會報錯。

      當數字運算結果超過了JavaScript所能表示的數字上限(溢出),結果為一個特殊的無窮大(infinity)值,在JavaScript中以Infinity表示。同樣地,當負數的值超過了JavaScript所能表示的負數範圍,結果為負無窮大,在JavaScript中以-Infinity表示。無窮大值的行為特性和我們所期望的是一致的:基於它們的加、減、乘和除運算結果還是無窮大(當然還保留它們的加號或減號)。

      下溢(underflow)是當運算結果無限接近於零並比JavaScript能表示的最小值還小的時候發生的一種情形。(感覺有點兒類似於解析度不夠)這種情況下,JavaScript將會返回0.當一個負數發生下溢時,JavaScript返回一個特殊的值“負零”。這個值(負零)幾乎和正常的零完全一樣,JavaScript程式員很少用到負零。

      被零整除在JavaScript中並不報錯:它只是簡單的返回無窮大(Infinity)或負無窮大(-Infinity)。但有一個例外,零除以零是沒有意義的,這種整除運算結果也是一個非數字(not-a-number)值,用NaN表示。無窮大除以無窮大、給任意負數作開方運算或者算術運算子與不是數字或無法轉換為數位運算元一起使用時都將返回NaN。

      上面這些應該是中學數學的知識吧,要是不學編程估計這一輩子是用不上了……T_T

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.