ES6 在 Number对象上新增了很多方法

1 .    Number.isFinite()判断是否为有限的数字

  和全局的isFinite() 方法的区别是

  isFinite('1') === true    ;    Number.isFinite('1') === false

  全局的isFinite()先调用Number() 方法  把  变量 转化为数字再进行判断, 所以返回 true,

  Number.isFinite()只能判断数字, 对于非数字一律返回false

2  ,  Number.isNaN() 判断是否为NAN,

  只有NaN 才返回true, 否则返回false

3 , ES6 把全局的parseInt()和parseFloat()   移植到了Number对象上,但行为保持不变,

 是为了逐步减少全局方法, 使语言逐渐模块化

4  , Number.isInterger()判断是否为整数,  注意一点,javascript内部整数和浮点数是同样的存储方法  

    所以Number.isInteger(2) === Number.isInteger(2.0)

5,  Number.EPSILON是一个极小常量, 一般来说, 差值小于这个极小常量的两个数我们就认为是相等的

  因为JavaScript浮点数的计算不精确,0.1+ 0.2 = 0.30000000000000004

  如果 Math.abs(0.1+ 0.2 - 0.3)  < Number.EPSILON 我们就认为 0.1+ 0.2 =  0.3

6 ,  Number.isSafeInteger()

  我们知道JavaScript表示整数的精度范围在-2的53次方到2的53次方之间,

  超过这个范围的整数JavaScript就无法精确表示了,比如

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

  ES6引入了两个数来表示这个范围

  Number.MAX_SAFE_INTEGER = Math.pow(2, 53)  - 1;

  Number.MIN_SAFE_INTEGER = Math.pow(2, 53)  + 1;

  判断一个整数是否落在这个区域就可以用 Number.isSafeInteger()  ,

  它只能传整数进去, 不是整数一律返回false

  

7 , 基于6 我们知道JavaScript无法准确的表示大于2的53次方的整数,

  由此ES6新增了一个bigint的数据类型, 数值后面加n 来区分数字

  typeof 1234n  ===  'bigint'

  当计算Math.pow(2, 53) + 1 的时候

  9007199254740992 + 1 = 9007199254740992 (不精确)

  9007199254740992n + 1n = 9007199254740993n  (精确)

  在调用toString() 方法返回结果

  

  

最新文章

  1. js 判断IE浏览器,包含IE6/7/8/9
  2. spring.net xml 命名空间
  3. DATEADD和DATEDIFF函数、其他日期处理方法 、已打开的端口、FORMAT函数
  4. hdu1115(计算多边形几何重心)
  5. Hibernate——property的access属性
  6. Linux 配置多IP
  7. linux下登录出现-bash-3.2#解决办法
  8. Angular之filter学习
  9. jquery-easyui实现页面布局和增删改查操作(SSH2框架支持)转载
  10. Oracle中关于处理小数点位数的几个函数,取小数位数,Oracle查询函数
  11. HDU 2040 亲和数
  12. Linux cat /proc/meminfo 输出分析
  13. Django中多表查询思路
  14. Vs 中关于项目中的某 NuGet 程序包还原失败:找不到“xxx”版本的程序包“xxx”
  15. python之tips(三)--为什么Python有相同的不可变对象id不同?
  16. Educational Codeforces Round 55 (Rated for Div. 2) A - Vasya and Book
  17. jar命令打jar包
  18. python - class类 (二) 静态属性/类方法/静态方法
  19. expect脚本同步文件 expect脚本指定host和要同步的文件 构建文件分发系统 批量远程执行命令
  20. SpringBoot集成ActiveMQ

热门文章

  1. 【NOIP 模拟赛】 道路
  2. tornado之模板扩展
  3. MongoDB 倾向于将数据都放在一个 Collection 下吗?
  4. hihocoder 挑战赛9 A.好配对(思维题目 防止超时)
  5. 步入C编程的第一天
  6. html5 3D圣诞树源码
  7. [练习]使用dx.bat、dexdump.exe、javap、Baksmali
  8. stdout引发的curl 302跳转 crash
  9. 性能测试之Jmeter学习(三)
  10. 1.6-1.10 使用Sqoop导入数据到HDFS及一些设置