当前位置: 首页 > news >正文

isNaN、Number.isNaN、isFinite、Number.isFinite

isNaN和Number.isNaN

这两者都是为了判断参数是否为NaN类型。

isNaN的实现原理是:通过Number()方法,尝试将参数转换成Number类型,如果成功返回false,如果失败返回true。

isNaN只是判断传入的参数是否能转换成数字,并不是严格的判断参数是否等于NaN

而Number.isNaN()会判断传入的参数是否为数字类型(NaN也是特殊的数字类型)且是否严格的等于NaN (===)。

console.log(isNaN('123')) //fasle,字符串类型的123能转成数字,所以返回false
console.log(Number.isNaN('123')) //false,字符串类型的123不是NaN,所以返回false
console.log(Number.isNaN(123) // false
console.log(isNaN('NaN')) // true
console.log(isNaN('nAn')) // true
console.log(isNaN('测试')) //true  因为Number(字符串)会返回NaN
console.log(Number.isNaN('测试')) //false,字符串不是NaN,所以返回false
console.log(Number.isNaN(NaN)) //true

isFinite、Number.isFinite

两个方法都是为了判断参数是否为有限的。

当参数为正无穷(Number.POSITIVE_INFINITYInfinity )、负无穷(Number.POSITIVE_INFINITY-Infinity )、NaN。则返回false

isFinite、Number.isFinite的区别与上面一样,Number.isFinite默认参数为数字类型。而IsFinite会对参数转为数值类型再判断。

对于Number.isFinite()方法。必须满足以下两点,才返回true。

  • 参数是数值型,

  • 参数不是无穷大/小或者NaN

console.log(Number.isFinite('123'))// false
console.log(Number.isFinite('abc')) //fasle
console.log(Number.isFinite(NaN)) // false
console.log(Number.isFinite(1)) // true
 console.log(isFinite('123')) //trueconsole.log(isFinite('abc')) // fasle 因为Number('abc')是NaN
console.log(isFinite(NaN)) // false 同上
console.log(isFinite(-Infinity )) // false 因为Number(-Infinity)为-Infinity

注意

Number(null) // 0
Number('') // 0
console.log(isFinite(null ))  //true
http://www.lryc.cn/news/15796.html

相关文章:

  • MyBatis分页插件
  • Vue组件间通信的四种方式(函数回调,自定义事件,事件总线,消息订阅与发布)
  • 华为OD机试真题Python实现【求字符串中所有整数的最小和】真题+解题思路+代码(20222023)
  • 行为型设计模式之中介者模式
  • JDK8增加的特性
  • 华为OD机试 - 求数组中最大n个数和最小n个数的和(Python) | 机试题+算法思路+考点+代码解析 【2023】
  • 如何写出更加契合浙大MBA项目提面申请资料?
  • 华为OD机试真题Java实现【比赛评分】真题+解题思路+代码(20222023)
  • 【linux】——gcc/g++,make/makefile的简单使用
  • 追梦之旅【数据结构篇】——详解C语言动态实现带头结点的双向循环链表结构
  • 华为OD机试真题Python实现【水仙花数 2】真题+解题思路+代码(20222023)
  • 【原创】java+swing+txt学生学籍管理系统设计与实现
  • GCN项目实战1-SimGNN
  • 经过深思熟虑后的接口测试自动化的总结与思考
  • 电脑自带的录屏放在哪里了?轻松弄懂,看这篇文章就明白了
  • 华为OD机试真题Java实现【字符串分割】真题+解题思路+代码(20222023)
  • 【数据库】Apache Doris : 一个开源 MPP 数据库的架构与实践
  • day49【代码随想录】动态规划之最长公共子序列、不相交的线、最大子序和、判断子序列
  • 华为OD机试真题Python实现【字母消消乐】真题+解题思路+代码(20222023)
  • 程序中的日期使用问题-格式转化:SimpleDateFormat、org.apache.commons.lang3.time.DateUtils
  • C++——map和set的应用总结
  • 学习Python可以做什么工作?
  • AWS攻略——Peering连接VPC
  • 程序员遇到人生低谷期怎么做?
  • 理解IM消息“可靠性”和“一致性”问题,以及解决方案探讨
  • 2021-08-29
  • 第八题、哈夫曼编码大全
  • linux集群技术(二)--keepalived(高可用集群)(二)
  • C# 控制台程序的开发和打包为一个exe文件
  • Redis实战案例