美文网首页vue技术学习es6 语法学习Vue.js专区
ES6基础教程(第四节)——数值的扩展

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

作者: 多平方 | 来源:发表于2019-06-19 21:29 被阅读0次

    在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基础教程(第四节)——数值的扩展

        本文链接:https://www.haomeiwen.com/subject/gcblqctx.html