Number
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Number
JavaScript 物件是允許你操作數值的包覆物件。Number
物件是以 Number()
建構子來建立的。
語法
new Number(value)
參數
value
-
用來建立物件的數值。
說明
屬性
Number.EPSILON
-
介於 1 和大於 1 的最小值之可表示的差。
Number.MAX_SAFE_INTEGER
-
JavaScript 中 IEEE-754 雙精度範圍間的最大整數 (
2^53 - 1
) 。 Number.MAX_VALUE
-
可表示的最大正整數。
Number.MIN_SAFE_INTEGER
-
JavaScript 中 IEEE-754 雙精度範圍間的最小整數 (
-(2^53 - 1)
) 。 Number.MIN_VALUE
-
可表示的最小值,即最靠近 0 的正整數?(
5.00×103245.00\times10^{324}
)。 Number.NaN
-
特別用來表示非數值的物件。
Number.NEGATIVE_INFINITY
-
特別用來表示負無窮的數值。
Number.POSITIVE_INFINITY
-
特別用來表示正無窮的數值。
Number.prototype
-
允許被添加到
Number
物件的屬性。
方法
Number.isNaN()
-
判斷傳入的值是不是 NaN.
Number.isFinite()
-
判斷傳入的值是不是一個有限的數值。
Number.isInteger()
-
判斷傳入的值是不是一個整數。
Number.isSafeInteger()
-
判斷傳入的值是不是在 IEEE-754 雙精度範圍間 (即介於
-(2^53 - 1)
和2^53 - 1
之前)。 Number.parseFloat()
-
這個方法和全域物件的
parseFloat()
相同。 Number.parseInt()
-
這個方法和全域物件的
parseInt()
相同。
Number
實體
所有 Number
實體都會繼承其建構式的 Number.prototype
。Number
的原型物件可以被修改並作用在所有 Number
實體。
方法
Number.isNaN()
-
判斷傳入的值是不是 NaN.
Number.isFinite()
-
判斷傳入的值是不是一個有限的數值。
Number.isInteger()
-
判斷傳入的值是不是一個整數。
Number.isSafeInteger()
-
判斷傳入的值是不是在 IEEE-754 雙精度範圍間 (即介於
-(2^53 - 1)
和2^53 - 1
之前)。 Number.parseFloat()
-
這個方法和全域物件的
parseFloat()
相同。 Number.parseInt()
-
這個方法和全域物件的
parseInt()
相同。
範例
使用 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