百科狗-知识改变命运!
--

new Number() - JavaScript Number 对象

梵高1年前 (2023-11-21)阅读数 10#技术干货
文章标签整数

new 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_INTEGERJavaScript 中最大的安全整数(253 - 1)。Number.MAX_VALUE能表示的最大正数。最小的负数是-MAX_VALUENumber.MIN_SAFE_INTEGERJavaScript 中最小的安全整数(-(253 - 1)).Number.MIN_VALUE能表示的最小正数即最接近 0 的正数(实际上不会变成 0)。最大的负数是-MIN_VALUENumber.NaN特殊的“非数字”值。Number.NEGATIVE_INFINITY特殊的负无穷大值,在溢出时返回该值。Number.POSITIVE_INFINITY特殊的正无穷大值,在溢出时返回该值。Number.prototypeNumber 对象上允许的额外属性。

方法

Number.isNaN()确定传递的值是否是 NaN。Number.isFinite()确定传递的值类型及本身是否是有限数。Number.isInteger()确定传递的值类型是“number”,且是整数。Number.isSafeInteger()确定传递的值是否为安全整数(-(253 - 1)253 - 1之间)。Number.toInteger()计算传递的值并将其转换为整数(或无穷大)。Number.parseFloat()和全局对象parseFloat()一样。Number.parseInt()和全局对象parseInt()一样。

Number实例

new Number() - JavaScript 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 the Object.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;

整数类型的范围

JavaScript 能够准确表示的整数范围在-2^532^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

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)