上一节我们详细介绍了JS中对象的方法以及如何批量创建对象,本节我们开始学习JS中内置的对象——Number对象。

Number对象,顾名思义就是处理数值的对象(包括整数和小数)。

1. 创建Number对象的语法:

let n=new Number(val)//如果是非数字字符则转为NaN(not a number)。

2. 如何创建?

/* 完整的三种创建方式: */
let num1 = 123;             // 字面量方式 - 原始值类型
let num2 = Number(456);     // 函数调用方式 - 原始值类型
let num3 = new Number(789); // 构造函数方式 - Number对象类型

3. Number对象有哪些静态属性:

函数/内置变量说明
Number.EPSILON1 与大于 1 的最小浮点数之间的差,约等于 2.220446049250313e-16
Number.MAX_SAFE_INTEGERJavaScript 中最大的安全整数 (2^53 - 1),值为 9007199254740991
Number.MAX_VALUE能表示的最大正数,约为 1.7976931348623157e+308
Number.MIN_SAFE_INTEGERJavaScript 中最小的安全整数 (-(2^53 - 1)),值为 -9007199254740991
Number.MIN_VALUE能表示的最小的正数(最接近 0 的正数),约为 5e-324
Number.NaN表示"非数字"的特殊值,与全局的 NaN 相同
Number.NEGATIVE_INFINITY表示负无穷大的特殊值,与全局的 -Infinity 相同
Number.POSITIVE_INFINITY表示正无穷大的特殊值,与全局的 Infinity 相同
Number.prototypeNumber 对象的原型,用于向所有 Number 实例添加属性和方法

在开发时,最常用到的就是Number.MAX_SAFE_INTEGER(9007199254740991)和Number.MIN_SAFE_INTEGER(-9007199254740991)。原因在于JS使用IEEE 754双精度浮点数表示所有数字,这导致52位尾数只能精确表示2^53以内的整数,超出这个范围的整数会开始丢失精度。

console.log(9007199254740991 === 9007199254740991); // true  精度未丢失
console.log(9007199254740992 === 9007199254740992); // true  虽然判断相等但已不安全
console.log(9007199254740993 === 9007199254740993); // false  由于精度丢失,导致false

4. Number对象有哪些静态方法:

函数/内置变量说明
Number.isNaN()判断传入的值是否是 NaN,比全局 isNaN() 更严格
Number.isFinite()判断传入的值是否是有穷数,不会强制转换参数
Number.isInteger()判断传入的值是否为整数
Number.isSafeInteger()判断传入的值是否为安全整数(在 -(2^53 - 1) 到 2^53 - 1 之间)
Number.parseFloat()将字符串解析为浮点数,与全局 parseFloat() 相同
Number.parseInt()将字符串解析为整数,与全局 parseInt() 相同

这里也有很多常用函数,比如工作时,我们通常会使用Number.isNaN()来严格判断一个值是不是NaN,同时,我们会使用Number.parseFloat()和Number.parseInt()将用户输入的字符串转为整型或是浮点型。

/* Number静态方法案例 */
console.log(Number.isNaN(NaN));//Number.isNaN()判断值是否等于NaN。这里返回true
console.log(Number.parseInt('1234567'));//Number.parseInt()转字符串为整型。这里打印1234567
console.log(Number.parseFloat('3.1415926'));//Number.parseFloat()转字符串为浮点型。这里打印3.1415926

5. Number对象有哪些实例方法:

函数/内置变量说明
toExponential()返回以指数表示法表示的数字的字符串形式
toFixed()返回使用定点表示法表示数字的字符串,可指定小数位数
toLocaleString()返回数字在特定语言环境下的表示字符串
toPrecision()返回以指定精度表示数字的字符串
toString()返回指定 Number 对象的字符串表示,可指定进制
valueOf()返回 Number 对象的原始数值

这里通常使用toString()来进行数字转二进制字符串。比如对于数字6来说,它的二进制(radix)是110,我们就可以通过toString()来进行操作。

const six=6
console.log(six.toString(2));//110

总结:本节我们主要介绍了JS中的Number对象,包括它的语法、定义、静态属性和方法、实例方法等,是JS必备的常用知识。

点赞(112)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)