此頁面由社群從英文翻譯而來。了解更多並加入 MDN Web Docs 社群。
Number
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
Number JavaScript 物件是允許你操作數值的包覆物件。Number 物件是以Number() 建構子來建立的。
In this article
語法
new Number(value)參數
value用來建立物件的數值。
說明
Number 物件主要的用途:
屬性
Number.EPSILON介於 1 和大於 1 的最小值之可表示的差。
Number.MAX_SAFE_INTEGERJavaScript 中 IEEE-754 雙精度範圍間的最大整數 (
2^53 - 1) 。Number.MAX_VALUE可表示的最大正整數。
Number.MIN_SAFE_INTEGERJavaScript 中 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, chapter8.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"); // 123Number("12.3"); // 12.3Number(""); // 0Number("0x11"); // 17Number("0b11"); // 3Number("0o11"); // 9Number("foo"); // NaNNumber("100a"); // NaN規範
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-number-objects> |