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