JavaScript原生對象屬性和方法詳解——Number對象

原文連接:http://www.feeldesignstudio.com/2013/09/native-javascript-object-properties-and-methods-numberjavascript

 

建立 Number 對象的語法:java

var myNum = new Number(value);
var myNum = Number(value);ide

當 Number() 和運算符 new 一塊兒做爲構造函數使用時,它返回一個新建立的 Number 對象。若是不用 new 運算符,把 Number() 做爲一個函數來調用,它將把本身的參數轉換成一個原始的數值,而且返回這個值(若是轉換失敗,則返回 NaN)。函數

MAX_VALUE

MAX_VALUE 屬性是 JavaScript 中可表示的最大的數。它的近似值爲 1.7976931348623157 x 10308。最大的負數是 -MAX_VALUE。this

比MAX_VALUE還要大的數是Infinity。MAX_VALUE是一個靜態屬性,因此調用方法應該是Number.MAX_VALUE。spa

 

MIN_VALUE

MIN_VALUE 屬性是 JavaScript 中可表示的最小的數(接近 0 ,但不是負數)。它的近似值爲 5 x 10-324prototype

全部比MIN_VALUE小的數都會被轉換成0。code

MIN_VALUE是一個靜態屬性,因此調用方法應該是 Number.MIN_VALUE。對象

NaN

NaN 屬性是表明非數字值的特殊值。該屬性用於指示某個值不是數字。能夠把 Number 對象設置爲該值,來指示其不是數字值。blog

可使用 isNaN() 全局函數來判斷一個值是不是 NaN 值。

Number.NaN 是一個特殊值,說明某些算術運算(如求負數的平方根)的結果不是數字。方法 parseInt() 和 parseFloat() 在不能解析指定的字符串時就返回這個值。對於一些常規狀況下返回有效數字的函數,也能夠採用這種方法,用 Number.NaN 說明它的錯誤狀況。

JavaScript 以 NaN 的形式輸出 Number.NaN。請注意,NaN 與其餘數值進行比較的結果老是不相等的,包括它自身在內。所以,不能與 Number.NaN 比較來檢測一個值是否是數字,而只能調用 isNaN() 來比較。

注意:全局變量NaN 和Number.NaN 是同樣的,NaN是一個不可配置,不可修改的屬性。

 

NEGATIVE_INFINITY

NEGATIVE_INFINITY 屬性表示小於 -Number.MAX_VALUE 的值。該值表明負無窮大。

JavaScript 顯示 NEGATIVE_INFINITY 時使用的是 -Infinity。這個值的算術行爲和無窮大很是類似。例如,任何數乘無窮大結果仍爲無窮大,任何數被無窮大除的結果爲 0。

-Infinity 和 Number.NEGATIVE_INFINITY 相等。

 

POSITIVE_INFINITY

POSITIVE_INFINITY 屬性表示大於 Number.MAX_VALUE 的值。該值表明正無窮大。

JavaScript 顯示 POSITIVE_INFINITY 時使用的是 Infinity。這個值的算術行爲和無窮大很是類似。例如,任何數乘無窮大結果仍爲無窮大,任何數被無窮大除的結果爲 0。

Infinity 和 Number.POSITIVE_INFINITY相等。

isFinite() 方法能夠判斷參數是不是有限的數字

 

toString()

toString() 方法可把一個 Number 對象轉換爲一個字符串,並返回結果。

NumberObject.toString(radix)

參數radix是可選的。規定表示數字的基數,使 2 ~ 36 之間的整數。若省略該參數,則使用基數 10,建議老是帶着此參數,防止誤解。例如,當 radix 爲 2 時,NumberObject 會被轉換爲二進制值表示的字符串。

當調用該方法的對象不是 Number 時拋出 TypeError 異常。

 

toLocaleString()

toLocaleString() 方法可把一個 Number 對象轉換爲本地格式的字符串。

數字的字符串表示,由實現決定,根據本地規範進行格式化,可能影響到小數點或千分位分隔符采用的標點符號。

當調用該方法的對象不是 Number 時拋出 TypeError 異常。

更多參數能夠參考:MDN

 

toFixed()

toFixed() 方法可把 Number 四捨五入爲指定小數位數的數字。

NumberObject.toFixed(num)

參數num是必需的。規定小數的位數,是 0 ~ 20 之間的值,包括 0 和 20,有些實現能夠支持更大的數值範圍。若是省略了該參數,將用 0 代替。

返回 NumberObject 的字符串表示,不採用指數計數法,小數點後有固定的 num 位數字。若是必要,該數字會被舍入,也能夠用 0 補足,以便它達到指定的長度。若是 num 大於 le+21,則該方法只調用 NumberObject.toString(),返回採用指數計數法表示的字符串。

當 num 過小或太大時拋出異常 RangeError。0 ~ 20 之間的值不會引起該異常。有些實現支持更大範圍或更小範圍內的值。當調用該方法的對象不是 Number 時拋出 TypeError 異常。

注意:因爲對浮點數的處理,toFixed() 方法展示出的結果並非所謂的「四捨五入」或者是「四捨六入五成雙」,而是四舍,六入,五的表現十分混亂。

建議本身寫方法來替換toFixed()默認行爲,能夠參考:SO上的討論

 

toExponential()

toExponential() 方法可把對象的值轉換成指數計數法。

NumberObject.toExponential(num)

參數num是可選的。規定指數計數法中的小數位數,是 0 ~ 20 之間的值,包括 0 和 20,有些實現能夠支持更大的數值範圍。若是省略了該參數,將使用盡量多的數字。

返回 NumberObject 的字符串表示,採用指數計數法,即小數點以前有一位數字,小數點以後有 num 位數字。該數字的小數部分將被舍入,必要時用 0 補足,以便它達到指定的長度。

當 num 過小或太大時拋出異常 RangeError。0 ~ 20 之間的值不會引起該異常。有些實現支持更大範圍或更小範圍內的值。當調用該方法的對象不是 Number 時拋出 TypeError 異常。

 

toPrecision()

toPrecision() 方法可將數值格式化爲一個十進制數形式的字符串。

NumberObject.toPrecision(num)

參數num是可選的。用於控制數字的精度。該參數是 1 ~ 21 之間(且包括 1 和 21)的值。若是省略了該參數,則調用方法 toString(),而不是把數字轉換成十進制的值。

相關文章
相關標籤/搜索