Number

2017-04-17  本文已影响0人  小狮子_3e1e
二进制和八进制表示

ES6提供了二进制和八进制的心写法,分别用0b(0B)和0o(0O)

0b111===5 //true
0o10 ===8//true

要转成十进制,可以使用Number

Number.isFinite(), Number.isNaN(),Number.isInteger()

Number.isFinite()判断一个值是否是有限的

Number.isFinite(1) //true
Number.isFinite(Infinity) //false

Number.idNaN()判断一个值是否是NaN

Number.isNaN(NaN) // true
Number.isNaN(1)

Number.isInteger()判断一个值是否是整数.注意点:在JS内,整数和浮点数是同样的存储方法

Number.isInteger(25) //true
Number.isInteger(25.0) //true
Number.isInteger(25.1) //false
Number.parseInt(), Number.parseFloat()

ES6将全局的两个方法移植到了Number对象上,行为完全一致

Number.EPSILON

Number.EPSILON是ES6新增的一个极小的常量,目的在于设置一个误差范围,因为浮点数计算是不精确的.如果误差小于Number.EPSILON那么可以认为得到了正确的结果

安全整数和Number.isSafeInteger()

js能够准确表示的整数范围在-2^532^53之间,不含两个端点.超过范围会导致无法精确表示

Math.pow(2, 53) === Math.pow(2, 53) + 1 // true

ES6引入了两个常量,分别表示范围的上下线Number.MAX_SAFE_INTEGERNumber.MIN_SAFE_INTEGER

Number.isSafeInteger() 用来判断一个数是否在安全范围内

Math对象的拓展

ES6在Math对象上新增了17个与数学相关的方法,且都是静态,只能在Math对象上调用

对数方法
三角函数方法

6个三角函数方法

指数运算符

新的运算符**

2**2 //4
2**4 //16

需要注意的是,在V8引擎中,指数运算符和Math.pow的实现不太相同,对于特别大的结果会有细微的差异

上一篇 下一篇

猜你喜欢

热点阅读