JavaScript 的 Number
对象是经过封装的能让你处理数字值的对象。Number
对象由 Number()
构造器创建。
new Number(value);
value
Number
对象主要用于:
Number.EPSILON
Number.MAX_SAFE_INTEGER
253 - 1
)。Number.MAX_VALUE
-MAX_VALUE
。Number.MIN_SAFE_INTEGER
-(253 - 1)
).Number.MIN_VALUE
-MIN_VALUE
。Number.NaN
Number.NEGATIVE_INFINITY
Number.POSITIVE_INFINITY
Number.prototype
Number.isNaN()
Number.isFinite()
Number.isInteger()
Number.isSafeInteger()
(253 - 1)
至 253 - 1之间
)。Number.toInteger()
Number.parseFloat()
parseFloat()
一样。Number.parseInt()
parseInt()
一样。Number
实例所有 Number
实例都继承自 Number.prototype
。被修改的 Number
构造器的原型对象对全部 Number
实例都生效。
Number.prototype.toExponential()
Number.prototype.toFixed()
Number.prototype.toLocaleString()
Object.prototype.toLocaleString()
method.Number.prototype.toPrecision()
Number.prototype.toSource()
Number
object; you can use this value to create a new object. Overrides the Object.prototype.toSource()
method.Number.prototype.toString()
Object.prototype.toString()
method.Number.prototype.valueOf()
Object.prototype.valueOf()
method.下例使用 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
对象所能表示的最大和最小整数 (详情请参阅 ECMAScript standard, chapter 8.5 The Number Type):
var biggestInt = 9007199254740992;
var smallestInt = -9007199254740992;
在解析序列化的JSON时,如果JSON解析器将它们强制转换为Number类型,那么超出此范围的整数值可能会被破坏。在工作中使用String
类型代替,是一个可行的解决方案。
Number
转换 Date
对象下例使用 Number 作为函数来转换 Date
对象为数字值:
var d = new Date("December 17, 1995 03:24:00");
print(Number(d));
这将输出 "819199440000"。
Number("123") // 123
Number("") // 0
Number("0x11") // 17
Number("0b11") // 3
Number("0o11") // 9
Number("foo") // NaN
Number("100a") // NaN
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | 初始定义。 实现于 JavaScript 1.1. |
ECMAScript 5.1 (ECMA-262) Number |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) Number |
Standard | 新增了方法和属性: EPSILON , isFinite , isInteger , isNaN , parseFloat , parseInt |
ECMAScript Latest Draft (ECMA-262) Number |
Draft |
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |