数值的扩展

1. 二进制(0b或0B)和八进制(0o或0O) 表示法

ES5严格模式中不允许使用前缀0表示八进制,ES6进一步明确要使用前缀0o表示。
可以使用Number()方法将前缀0B和0x和0o的字符串转为十进制。

2.Nubber.isFinite()和Number.isNaN()

分别用来检查数值是否有限和是否为NaN
注意:这两个方法与传统全局的isFinite()和isNaN()的区别在于,传统的先调用Number()方法将非数值转为数值,再进行判断,而新方法只对数值有效,对非数值一律返回false。Number.isNaN()只对NaN才返回true,其他都返回false。

3. Number.parseInt()和Number.parseFloat()

将全局方法移植到Number对象上面,减少全局方法,使得语言逐步模块化

4. Number.isInteger()

判断一个数是否为整数。
注意JavaScript中整数和浮点数采用一样的存储方法,3和3.0视为同一个值。不存在类型转换,对所有的非数值一律返回false。

5. Number.EPSILON

极小的常量,目的在于为浮点数运算设置一个误差范围,误差小于这一个常量则认为得到正确结果。

6. Number.isSafeInteger()安全整数

JavaScript能够正确表示的整数范围在-253~253(不包括两端,超过这个范围则无法正确显示)
Number.MAX_SAFE_INTEGER === Math.pow(2,53)-1
Number.MIN_SAFE_INTEGER === -Number.MAX_SAFE_INTEGER

7.Math.trunc()

用于去除小数部分返回整数部分

8.Math.sign()

用来判断一个数是正数、负数、0
正数返回+1
负数返回-1
0返回0
-0返回-0

9. Math.cbrt()

开立方根

10. Math.clz32()

JavaScript的整数使用32位二进制形式,该方法返回一个数的32位无符号整数形式有多少个前导0。
对于小数,它只考虑整数部分.
对于空值或其他类型的值会先转为数值再计算

11.Math.imul()

返回两个数以32位带符号整数形式相乘的结果,返回的也是一个32的带符号整数

12. Math.fround()

返回一个数的单精度浮点数形式
对于整数返回自身。对于那些无法使用64位二进制表示的小数,该方法会返回最接近这个小数的单精度浮点数

13. Math.hypot()

返回所有参数的平方和的平方根。
会将所有参数先转换为数值,无法转为数值会返回NaN。

14. Math.expm1()

e^x-1等同于Math.exp(x)-1

15. Math.log1p()

返回ln(x+1)即Math.log(x+1)

16. Math.log10()

返回以10为底x的对数,如果星x小于0,则返回NaN

17. Math.log2()

18. 新增了双曲函数的方法

19. Math.signbit()

判断一个值得正负,负数返回true,正数和NaN和其他情况返回false

20. 指数运算符**

21 Integer数据类型

必须使用后缀n来表示
除法运算会舍去小数部分,返回一个整数
JavaScript提供原生Integer对象用来生成integer类型的数值,转换规则基本与Number()一致
不能与Number类型进行混合运算(因为如果返回integer会丢失小数部分,返回Number可能会超出53位精确数字,精度下降

posted @ 2020-09-29 15:47  小耳朵兔  阅读(226)  评论(0)    收藏  举报