Number
Number
JavaScript 的Number
对象是经过封装的能让你处理数字值的对象。Number
对象由 Number()
构造器创建。
语法
new Number(value
参数
value
被创建对象的数字值。
描述
Number
对象主要用于:
- 如果参数无法被转换为数字,则返回
NaN
。
- 在非构造器上下文中 (如:没有
new
操作符),Number
能被用来执行类型转换。
属性
Number.EPSILON
两个可表示(representable)数之间的最小间隔。
方法
Number.isNaN()
确定传递的值是否是 NaN。
Number 实例
所有Number
实例都继承自Number.prototype
。被修改的 Number
构造器的原型对象对全部Number
实例都生效。
方法
Number.prototype.toExponential()
Returns a string representing the number in exponential notation.
示例
使用 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
对象所能表示的最大和最小整数 (详情请参阅 ECMAScript standard, chapter 8.5 The Number Type
):
var biggestInt = 9007199254740991;
var smallestInt = -9007199254740991;
在解析序列化的JSON时,如果JSON解析器将它们强制转换为Number类型,那么超出此范围的整数值可能会被破坏。在工作中使用String
类型代替,是一个可行的解决方案。
使用 Number 转换 Date 对象
下例使用 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 | Status | Comment |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Initial definition. Implemented in JavaScript 1.1. |
ECMAScript 5.1 (ECMA-262)The definition of 'Number' in that specification. | Standard | |
ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'Number' in that specification. | Standard | New methods and properties added: EPSILON, isFinite, isInteger, isNaN, parseFloat, parseInt |
ECMAScript Latest Draft (ECMA-262)The definition of 'Number' in that specification. | Living Standard | |
浏览器兼容性
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |