这篇翻译不完整。请帮忙从英语翻译这篇文章。
JavaScript 的 Number
对象是经过封装的能让你处理数字值的对象。Number
对象由 Number()
构造器创建。
语法
new Number(value);
参数
value
- 被创建对象的数字值。
描述
Number
对象主要用于:
属性
Number.EPSILON
- 两个可表示(representable)数之间的最小间隔。
Number.MAX_SAFE_INTEGER
- 在 JavaScript 中最大的安全整数 (
253 - 1
)。
Number.MAX_VALUE
- 能表示的最大正数。最大的负数是
-MAX_VALUE
。 Number.MIN_VALUE
- 能表示的最小正数即最接近 0 的正数 (实际上不会变成 0)。最小的负数是
-MIN_VALUE
。 Number.NaN
- 特殊的“非数字”值。
Number.NEGATIVE_INFINITY
- 特殊的负无穷大值,在溢出时返回该值。
Number.POSITIVE_INFINITY
- 特殊的正无穷大值,在溢出时返回改值。
Number.prototype
- Number 对象上允许的额外属性。
方法
Number.isNaN()
- 确定传递的值是否是 NaN。
Number.isFinite()
- 确定传递的值类型及本身是否是有限数。
Number.isInteger()
- 确定传递的值类型是“number”,且是整数。
Number.isSafeInteger()
- Determine whether the passed value is a safe integer (number between
-(253 - 1)
and253 - 1
). Number.toInteger()
- 计算传递的值并将其转换为整数 (或无穷大)。
Number.parseFloat()
- 和全局对象
parseFloat()
一样。 Number.parseInt()
- 和全局对象
parseInt()
一样。
Number
实例
所有 Number
实例都继承自 Number.prototype
。被修改的 Number
构造器的原型对象对全部 Number
实例都生效。
方法
Number.prototype.toExponential()
- Returns a string representing the number in exponential notation.
Number.prototype.toFixed()
- Returns a string representing the number in fixed-point notation.
Number.prototype.toLocaleString()
- Returns a string with a language sensitive representation of this number. Overrides the
Object.prototype.toLocaleString()
method. Number.prototype.toPrecision()
- Returns a string representing the number to a specified precision in fixed-point or exponential notation.
Number.prototype.toSource()
- Returns an object literal representing the specified
Number
object; you can use this value to create a new object. Overrides theObject.prototype.toSource()
method. Number.prototype.toString()
- Returns a string representing the specified object in the specified radix (base). Overrides the
Object.prototype.toString()
method. Number.prototype.valueOf()
- Returns the primitive value of the specified object. Overrides the
Object.prototype.valueOf()
method.
示例
使用 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;
Integer range for Number
The following example shows minimum and maximum integer values that can be represented as Number
object (for details, refer to ECMAScript standard, chapter 8.5 The Number Type):
var biggestInt = 9007199254740992;
var smallestInt = -9007199254740992;
When parsing data that has been serialized to JSON, integer values falling out of this range can be expected to become corrupted when JSON parser coerces them to Number
type. Using String
instead is a possible workaround.
使用 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
Specifications
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Initial definition. Implemented in JavaScript 1.1. |
ECMAScript 5.1 (ECMA-262) Number |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) Number |
Standard | New methods and properties added: EPSILON , isFinite , isInteger , isNaN , parseFloat , parseInt |
ECMAScript 2017 Draft (ECMA-262) Number |
Draft |
浏览器兼容性
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
toSource() | 未实现 | (Yes) | 未实现 | 未实现 | 未实现 |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
toSource() | 未实现 | (Yes) | 未实现 | 未实现 | 未实现 |