JavaScript Number 對象
Number 對象
Number 對象是原始數(shù)值的包裝對象。
創(chuàng)建 Number 對象的語法:
var myNum=new Number(value); var myNum=Number(value);
參數(shù)
參數(shù) value 是要創(chuàng)建的 Number 對象的數(shù)值,或是要轉(zhuǎn)換成數(shù)字的值。
返回值
當 Number() 和運算符 new 一起作為構(gòu)造函數(shù)使用時,它返回一個新創(chuàng)建的 Number 對象。如果不用 new 運算符,把 Number() 作為一個函數(shù)來調(diào)用,它將把自己的參數(shù)轉(zhuǎn)換成一個原始的數(shù)值,并且返回這個值(如果轉(zhuǎn)換失敗,則返回 NaN)。
Number 對象屬性
屬性 | 描述 |
---|---|
constructor | 返回對創(chuàng)建此對象的 Number 函數(shù)的引用。 |
MAX_VALUE | 可表示的最大的數(shù)。 |
MIN_VALUE | 可表示的最小的數(shù)。 |
NaN | 非數(shù)字值。 |
NEGATIVE_INFINITY | 負無窮大,溢出時返回該值。 |
POSITIVE_INFINITY | 正無窮大,溢出時返回該值。 |
prototype | 使您有能力向?qū)ο筇砑訉傩院头椒ā?/td> |
Number 對象方法
方法 | 描述 |
---|---|
toString | 把數(shù)字轉(zhuǎn)換為字符串,使用指定的基數(shù)。 |
toLocaleString | 把數(shù)字轉(zhuǎn)換為字符串,使用本地數(shù)字格式順序。 |
toFixed | 把數(shù)字轉(zhuǎn)換為字符串,結(jié)果的小數(shù)點后有指定位數(shù)的數(shù)字。 |
toExponential | 把對象的值轉(zhuǎn)換為指數(shù)計數(shù)法。 |
toPrecision | 把數(shù)字格式化為指定的長度。 |
valueOf | 返回一個 Number 對象的基本數(shù)字值。 |
Number 對象描述
在 JavaScript 中,數(shù)字是一種基本的數(shù)據(jù)類型。JavaScript 還支持 Number 對象,該對象是原始數(shù)值的包裝對象。在必要時,JavaScript 會自動地在原始數(shù)據(jù)和對象之間轉(zhuǎn)換。在 JavaScript 1.1 中,可以用構(gòu)造函數(shù) Number() 明確地創(chuàng)建一個 Number 對象,盡管這樣做并沒有什么必要。
構(gòu)造函數(shù) Number() 可以不與運算符 new 一起使用,而直接作為轉(zhuǎn)化函數(shù)來使用。以這種方式調(diào)用 Number() 時,它會把自己的參數(shù)轉(zhuǎn)化成一個數(shù)字,然后返回轉(zhuǎn)換后的原始數(shù)值(或 NaN)。
構(gòu)造函數(shù)通常還用作 5 個有用的數(shù)字常量的占位符,這 5 個有用的數(shù)字常量分別是可表示的最大數(shù)、可表示的最小數(shù)、正無窮大、負無窮大和特殊的 NaN 值。 注意,這些值是構(gòu)造函數(shù) Number() 自身的屬性,而不是單獨的某個 Number 對象的屬性。
比如這樣使用屬性 MAX_VALUE 是正確的:
var big = Number.MAX_VALUE
但是這樣是錯誤的:
var n= new Number(2); var big = n.MAX_VALUE
作為比較,我們看一下 toString() 和 Number 對象的其他方法,它們是每個 Number 對象的方法,而不是 Number() 構(gòu)造函數(shù)的方法。前面提到過,在必要時,JavaScript 會自動地把原始數(shù)值轉(zhuǎn)化成 Number 對象,調(diào)用 Number 方法的既可以是 Number 對象,也可以是原始數(shù)字值。
var n = 123; var binary_value = n.toString(2);
課外書
如需更多信息,請閱讀 JavaScript 高級教程中的相關內(nèi)容:
- ECMAScript 引用類型
- 引用類型通常叫做類(class)或?qū)ο。本?jié)講解 ECMAScript 的預定義引用類型。