Number - JavaScript Number 对象
Number
JavaScript 的Number
对象是经过封装的能让你处理数字值的对象。Number
对象由Number()
构造器创建。
JavaScript 的Number
类型为双精度 IEEE 754 64 位浮点类型。
最近出了 stage3BigInt
任意精度数字类型,已经进入 stage3 规范
语法
new Number(value); var a = new Number('123'); // a === 123 is false var b = Number('123'); // b === 123 is true a instanceof Number; // is true b instanceof Number; // is false
参数
value
被创建对象的数字值。
描述
Number
对象主要用于:
- 如果参数无法被转换为数字,则返回
NaN
。 - 在非构造器上下文中(如:没有
new
操作符),Number
能被用来执行类型转换。
属性
Number.EPSILON
两个可表示(representable)数之间的最小间隔。
Number.MAX_SAFE_INTEGER
JavaScript 中最大的安全整数(2^53 - 1
)。
Number.MAX_VALUE
能表示的最大正数。最小的负数是-MAX_VALUE
。
Number.MIN_SAFE_INTEGER
JavaScript 中最小的安全整数(-(2^53 - 1)
).
Number.MIN_VALUE
能表示的最小正数即最接近 0 的正数(实际上不会变成 0)。最大的负数是-MIN_VALUE
。
Number.NaN
特殊的“非数字”值。
Number.NEGATIVE_INFINITY
特殊的负无穷大值,在溢出时返回该值。
Number.POSITIVE_INFINITY
特殊的正无穷大值,在溢出时返回该值。
Number.prototype
(en-US)Number 对象上允许的额外属性。
方法
Number.isNaN()
确定传递的值是否是 NaN。
Number.isFinite()
确定传递的值类型及本身是否是有限数。
Number.isInteger()
确定传递的值类型是“number”,且是整数。
Number.isSafeInteger()
确定传递的值是否为安全整数(-(2^53 - 1)
至2^53 - 1
)之间。
Number.toInteger()
已弃用计算传递的值并将其转换为整数(或无穷大)。
Number.parseFloat()
和全局对象parseFloat()
一样。
Number.parseInt()
和全局对象parseInt()
一样。
Number
实例
所有Number
实例都继承自Number.prototype
(en-US)。被修改的 Number
构造器的原型对象对全部Number
实例都生效。
方法
Number.prototype.toExponential(fractionDigits)
返回使用指数表示法表示数字的字符串。
Number.prototype.toFixed(digits)
返回使用定点表示法表示数字的字符串。
Number.prototype.toLocaleString([locales[,options]])
返回数字在特定语言环境下表示的字符串。覆盖Object.prototype.toLocaleString()
方法。
Number.prototype.toPrecision(precision)
返回数字使用定点表示法或指数表示法至指定精度的字符串。
Number.prototype.toString([radix])
返回一个代表给定对象的字符串,基于指定的基数。覆盖Object.prototype.toString()
方法。
Number.prototype.valueOf()
返回指定对象的原始值。覆盖Object.prototype.valueOf()
方法。
示例
使用 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;
整数类型的范围
JavaScript 能够准确表示的整数范围在-2^53
到2^53
之间(不含两个端点),超过这个范围,无法精确表示这个整数。(详情请参阅 ECMAScript standard, chapter 6.1.6 The Number Type):
var biggestInt = Number.MAX_SAFE_INTEGER; //9007199254740991 var smallestInt = Number.MIN_SAFE_INTEGER; //-9007199254740991
在解析序列化的 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('12.3') // 12.3 Number('12.00') // 12 Number('123e-1') // 12.3 Number('') // 0 Number(null) // 0 Number('0x11') // 17 Number('0b11') // 3 Number('0o11') // 9 Number('foo') // NaN Number('100a') // NaN Number('-Infinity') //-Infinity
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!