Number
Number
JavaScript 物件是允許你操作數值的包覆物件. Number
物件是以 Number()
建構子來建立的。
語法
new Number(value);
參數
value
- 用來建立物件的數值。
說明
Number
物件主要的用途:
- 如果參數沒辦法被轉換成數字,則它會回傳
NaN
。 - 在不是使用建構式的情境中(即不用
new
(en-US) 運算子),Number
可以被用來轉換型別.
屬性
Number.EPSILON
(en-US)- 介於1和大於1的最小值之可表示的差。
Number.MAX_SAFE_INTEGER
(en-US)- JavaScript 中 IEEE-754 雙精度範圍間的最大整數 (
2^53 - 1
) 。 Number.MAX_VALUE
(en-US)- 可表示的最大正整數。
Number.MIN_SAFE_INTEGER
(en-US)- JavaScript 中 IEEE-754 雙精度範圍間的最小整數 (
-(2^53 - 1)
) 。 Number.MIN_VALUE
(en-US)- 可表示的最小值,即最靠近0的正整數?(
)。
Number.NaN
(en-US)- 特別用來表示非數值的物件。
Number.NEGATIVE_INFINITY
(en-US)- 特別用來表示負無窮的數值。
Number.POSITIVE_INFINITY
(en-US)- 特別用來表示正無窮的數值。
Number.prototype
- 允許被添加到
Number
物件的屬性。
方法
Number.isNaN()
- 判斷傳入的值是不是 NaN.
Number.isFinite()
- 判斷傳入的值是不是一個有限的數值。
Number.isInteger()
(en-US)- 判斷傳入的值是不是一個整數。
Number.isSafeInteger()
(en-US)- 判斷傳入的值是不是在 IEEE-754 雙精度範圍間 (即介於
-(2^53 - 1)
和2^53 - 1
之前)。 Number.parseFloat()
(en-US)- 這個方法和全域物件的
parseFloat()
相同。 Number.parseInt()
(en-US)- 這個方法和全域物件的
parseInt()
相同。
Number
實體
所有 Number
實體都會繼承其建構式的 Number.prototype
。Number
的原型物件可以被修改並作用在所有 Number
實體。
方法
Number.prototype.toExponential()
- 回傳以「科學記數法」表示的數值字串。
Number.prototype.toFixed()
- 回傳以定點表示的數值字串。
Number.prototype.toLocaleString()
(en-US)- 回傳以當地語言為主的數值字串。這覆寫
Object.prototype.toLocaleString()
(en-US) 的方法。 Number.prototype.toPrecision()
(en-US)- 回傳以定點或科學記數表示的數值字串。
Number.prototype.toSource()
(en-US) Non-Standard- Returns an object literal representing the specified
Number
object; you can use this value to create a new object. Overrides theObject.prototype.toSource()
(en-US) method. Number.prototype.toString()
(en-US)- 回傳以特定基數表示的數值字串。這覆寫
Object.prototype.toString()
(en-US) 的方法 。 Number.prototype.valueOf()
(en-US)- 回傳這個物件的原始型別,即原始數值。這覆寫
Object.prototype.valueOf()
(en-US) 。
範例
使用 Number
物件去指派值給數值變數
下列的範例使用 Number
物件的屬性去指派值給數個數值變數:
var biggestNum = Number.MAX_VALUE;
var smallestNum = Number.MIN_VALUE;
var infiniteNum = Number.POSITIVE_INFINITY;
var negInfiniteNum = Number.NEGATIVE_INFINITY;
var notANum = Number.NaN;
Number
的整數範圍
下面的範例展示了最小和最大的整數,其可以被表示成 Number
物件(細節請參考 ECMAScript standard, chapter 8.5 The Number Type):
var biggestInt = 9007199254740992;
var smallestInt = -9007199254740992;
當在解析已經被序列化的 JSON 的資料時,填入這個範圍之外的整數並且 JSON 剖析器強制將其轉成 Number
型別造成損壞是可預期的。將範圍之外的正數換成以 String
表示反倒是一個可行的替代方案。
使用 Number
轉換 Date
物件為 Unix 時間戳記
下面的範例將 Number
視為函式,並且使用它將 Date
轉換成時間戳記:
var d = new Date('December 17, 1995 03:24:00');
console.log(Number(d)); // 819199440000
轉換數值字串成數值
Number("123") // 123
Number("12.3") // 12.3
Number("") // 0
Number("0x11") // 17
Number("0b11") // 3
Number("0o11") // 9
Number("foo") // NaN
Number("100a") // NaN
規範
Specification |
---|
ECMAScript Language Specification # sec-number-objects |
瀏覽器相容性
BCD tables only load in the browser