1。二进制和八进制表示法ES6提供了一种新的二进制和八进制值的书写方式,分别用前缀0b(0B)和0o(0O)表示,如下所示:0b111110111===503//true0o767===503//true2。Number.isFinite(),Number.isNaN()ES6在number上提供了Number.isFinite(),Number.isNaN()两个方法,前者用来检查值是否有限,后者用来检查一个值是否是NAN,如下:Number.isFinite(15);//trueNumber.isFinite(0.8);//trueNumber.isFinite(NaN);//falseNumber.isFinite(Infinity);//假数.isFinite(-Infinity);//falseNumber.isFinite('foo');//falseNumber.isFinite('15');//falseNumber.isFinite(true);//如果参数类型不是数字,则返回falseNumber。isNaN(NaN)//trueNumber.isNaN(15)//falseNumber.isNaN('15')//falseNumber.isNaN(true)//falseNumber.isNaN(9/NaN)//trueNumber.isNaN('true'/0)//trueNumber.isNaN('true'/'true')//true与传统的isFinite()和isNaN()的区别在于传统方法先调用Number()进行非数值的转换成数值。法官。Number.isFinite()对非数字值返回false,Number.isNaN()仅对NaN返回true,对非NaN返回false。3、Number.parseInt()、Number.parseFloat()ES6将全局方法parseInt()和parseFloat()移植到Number对象中,行为完全保持不变。减少全局方法,使语言逐渐模块化。如下://ES5的写法parseInt('12.34')//12parseFloat('123.45#')//123.45//ES6的写法Number.parseInt('12.34')//12Number.parseFloat('123.45#')//123.454.Number.isInteger()Number.isInteger()用于判断一个值是否为整数,如下:Number.isInteger(25)//trueNumber.isInteger(25.1)//falseNumber.isInteger(25.0)//trueinteger它采用与浮点数相同的存储方式,但是Number.isInteger()在数据精度比较高的时候不能很好的判断,所以不推荐使用。5.Number.EPSILONNumber.EPSILON用来表示1和大于1的最小浮点数的差值,其实就是JavaScript可以表示的最小精度。functionwithinErrorMargin(left,right){returnMath.abs(left-right)
