1、Number.isNan 和 Number.isFinite

Number.isNaN()用来检查一个值是否为NaN

Number.isNaN(NaN) // true
Number.isNaN(15) // false
Number.isNaN('15') // false
Number.isNaN(true) // false

Number.isFinite()用来检查一个数值是否为有限的(finite)

Number.isFinite(15); // true
Number.isFinite(0.8); // true
Number.isFinite(NaN); // false
Number.isFinite(Infinity); // false
Number.isFinite(-Infinity); // false
Number.isFinite('foo'); // false
Number.isFinite('15'); // false
Number.isFinite(true); // false

ES5的2个方法,isFinite和isNaN,原理是先调用Number()将非数值的值转为数值,再进行判断。

ES6的2个方法为只对数值有效Number.isFinite()对于非数值一律返回falseNumber.isNaN()只有对于NaN才返回true,非NaN一律返回false

总之:ES6更加严谨了。

2、Number.parseInt(), Number.parseFloat() 

ES6 将全局方法parseInt()parseFloat(),移植到Number对象上面,行为完全保持不变

3、Number.isInteger

Number.isInteger()用来判断一个值是否为整数。需要注意的是,在 JavaScript 内部,整数和浮点数是同样的储存方法,所以 3 和 3.0 被视为同一个值。

4、Math.trunc

Math.trunc方法用于去除一个数的小数部分,返回整数部分

Math.trunc(4.1) //
Math.trunc(4.9) //
Math.trunc(-4.1) // -4
Math.trunc(-4.9) // -4
Math.trunc(-0.1234) // -0

对于参数为非数字,trunc方法会使用内部Number方法先将其转为数字再截取整数部分。

Math.trunc('3.2') //

5、正数、负数、零判断

Math.sign方法用来判断一个数到底是正数、负数、还是零。对于非数值,会先将其转换为数值。

它会返回五种值。

  • 参数为正数,返回+1
  • 参数为负数,返回-1
  • 参数为 0,返回0
  • 参数为-0,返回-0;
  • 其他值,返回NaN
Math.sign(-5) // -1
Math.sign(5) // +1
Math.sign(0) // +0
Math.sign(-0) // -0
Math.sign(NaN) // NaN

最新文章

  1. C# 全角和半角转换以及判断的简单代码
  2. github for window的代理设置方法
  3. Swift开发第十二篇——protocol组合&static和class
  4. Python基础-day2
  5. ajax读取XML文本(如读取城市)
  6. 【HDU】4089 Activation
  7. c语言 如何判断是不是 可显字符
  8. IIS 404.17 错误解决方案
  9. MySQL EER反向建表
  10. response 返回 带双引号 的字符串解决办法 springmvc
  11. 169. Majority Element(C++)
  12. Spark源码阅读之存储体系--存储体系概述与shuffle服务
  13. MySQL数据库存储过程动态表建立(PREPARE)
  14. Lintcode397 Longest Increasing Continuous Subsequence solution 题解
  15. windows下安装和使用scrapy
  16. python [[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]
  17. ExtJS中listener方法和handler方法的区别
  18. 一、Java多人博客系统-开篇
  19. oracle11gR2 手工创建基于asm存储的oracle实例
  20. 转 jeecg3.5中多数据源的配置

热门文章

  1. BZOJ 4873 寿司餐厅(最大权闭合图 网络流)
  2. Nginx反代,后端一个IP绑定多个SSL证书,导致连接失败之解决方法:HTTPS和SNI扩展
  3. 用Pandas获取商品期货价格并可视化
  4. 【C++】函数缺省参数的作用
  5. 子查询在INSERT语句中的应用
  6. JZYZOJ1530 [haoi2013]开关控制 状压 dfs 折半搜索
  7. 【计算几何】【推导】【补集转化】AtCoder Regular Contest 082 E - ConvexScore
  8. python3-开发进阶Django-form组件中model form组件
  9. java笔记之面向对象
  10. Cloud Foundry中vmc tunnel与caldecott原理