ES6基础教程(第四节)——数值的扩展

在es6中对数值的修改主要集中在三个方便,第一是将原在window对象

下的函数移植到了Number对象下,逐渐的实现语言的模块化,第二是新增了部分Number对象的函数,第三是es6给Math对象新增了17个函数;这一节我们来对这三个方面进行介绍。

将window对象移植到Number对象:

Number.isNaN()函数:

Number.isNaN(2.5);

//false

Number.isNaN()是用来判断是不是非数值的,这里的2.5是数值,所以返回的布尔值是false

Number.isFinite()函数:

用来检查一个数值是否非无穷。注意是判断非无穷,不是判断无穷,

Number.isFinite(1);

//结果:true,数值1是有穷,即非无穷

Number.isFinite(Infinity);

//结果:false,Infinity表示无穷大的特殊值

Number.parseInt()函数:

解析一个字符串,返回一个整数。

parseInt函数同样是从window对象下移植到Number对象下,但是它的作用没有任何变化。

Number.parseInt('12.3abc');

//结果:返回数值12

Number.parseFloat()函数:解析一个字符串,返回一个浮点数。

parseFloat函数同样是从window对象下移植到Number对象下,但是它的作用没有任何变化。

Number.parseFloat('12.3abc');

//结果:返回数值12.3

以上4个函数就是从window对象移植到Number对象的。

我们再来讲述一下Number新增的对象

Number.isInteger函数:用来判断是否是整数。

Number.isInteger(6.666);

//结果:false

Number.isInteger(6);

//结果:true

Number.EPSILON常量:定义一个极小的数值。

console.log(Number.EPSILON);

//结果:2.220446049250313e-16

Number.EPSILON的出现是用来判断浮点数的计算误差,如果浮点数计算得到的误差不超过Number.EPSILON的值,就表示可以接受这样的误差。

ES6为我们引入了安全整数的概念。什么?整数还有安全和不安全的说法?原来JavaScript能够准确表示的整数范围在-253到253之间,超过这个范围,无法精确表示这个值。故称之为不安全。

为此,ES6定义了两个常量来表示这个范围的最大值和最小值:Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER。此外,如果给你一个数值,你不知道它是否超出了这个安全范围,你可以使用ES6给我们新增的一个函数Number.isSafeInteger来进行判断。看例子:

Number.isSafeInteger(Number.MAX_SAFE_INTEGER);

//结果:true

Number.isSafeInteger(Number.MAX_SAFE_INTEGER+1);

//结果:false

ES6给Math对象新增了17个函数

Math.trunc(x)函数:用于去除一个数的小数部分,返回整数部分。

Math.sign(x)函数:用来判断一个数到底是正数、负数、还是零。

Math.cbrt(x)函数:用于计算一个数的立方根。

Math.acosh(x) 返回 x 的反双曲余弦。

Math.asinh(x) 返回 x 的反双曲正弦。

Math.atanh(x) 返回 x 的反双曲正切。

Math.clz32(x) 返回 x 的 32 位二进制整数表示形式的前导 0 的个数。

Math.sinh(x) 返回x的双曲正弦。

Math.cosh(x) 返回 x 的双曲余弦。

Math.expm1(x) 返回 eˆx - 1。

Math.fround(x) 返回 x 的单精度浮点数形式。

Math.hypot(...values) 返回所有参数的平方和的平方根。

Math.imul(x, y) 返回两个参数以 32 位整数形式相乘的结果。

Math.log1p(x) 返回 1 + x 的自然对数。

Math.log10(x) 返回以 10 为底的x的对数。

Math.log2(x) 返回以 2 为底的 x 的对数。

Math.tanh(x) 返回 x 的双曲正切。

以上就是新增的17个函数;

这一节就到这里,每天都要学习,每天都要进步,一起debug吧!

微信公众号

你可能感兴趣的:(ES6基础教程(第四节)——数值的扩展)