【JavaScript】isNaN 和 Number.isNaN 函数的区别?
isNaN 和 Number.isNaN 函数的区别?
文章目录
- isNaN 和 Number.isNaN 函数的区别?
- isNaN
- Number.isNaN
- 二者对比
isNaN
该函数接收一个参数,可以是任意数据类型,然后判断这个参数是否“不是数值”。
把一个值传给isNaN()后,该函数会尝试把它转换为数值。某些非数值的值可以直接转换成数值,如字符串"10"或布尔值。任何不能转换为数值的值都会导致这个函数返回true。
console.log(isNaN(NaN)); // true
console.log(isNaN(10)); // false,10 是数值
console.log(isNaN("10")); // false,可以转换为数值10
console.log(isNaN("blue")); // true,不可以转换为数值
console.log(isNaN(true)); // false,可以转换为数值1
Number.isNaN
函数 Number.isNaN 会首先判断传入参数是否为数字,如果是数字再继续判断是否为 NaN,不会进行数据类型的转换,这种方法对于 NaN 的判断更为准确。
console.log(Number.isNaN(NaN));//true
console.log(Number.isNaN("10"));//false
console.log(Number.isNaN(10));//false
二者对比
console.log(Number.isNaN("blue"))//false
console.log(isNaN("blue"));//true
对于字符串blue,本质上我们是想判断传入的参数是否为NaN,但是用 isNaN 函数,判断结果为真,所以说 isNaN函数判断 NaN不够准确。
【JavaScript】isNaN 和 Number.isNaN 函数的区别?相关推荐
- js中isNaN和Number.isNaN的区别
背景 与 JavaScript 中其他的值不同,NaN不能通过相等操作符(== 和 ===)来判断 ,因为 NaN == NaN 和 NaN === NaN 都会返回 false. 因此,isNaN ...
- isNaN、Number.isNaN、isFinite、Number.isFinite
isNaN和Number.isNaN 这两者都是为了判断参数是否为NaN类型. isNaN的实现原理是:通过Number()方法,尝试将参数转换成Number类型,如果成功返回false,如果失败返回 ...
- Js isNaN()和Number.isNaN()、isFinite() 和 Number.isFinite()
isNaN()和Number.isNaN() 当我们向isNaN传递一个参数时,它的内部实现是:通过Number()方法,尝试将参数转换成Number类型,如果成功返回false,如果失败返回true ...
- isNaN 和 Number.isNaN 函数的区别?
函数 isNaN 接收参数后,会尝试将这个参数转换为数值,任何不能被转换为数值的的值都会返回 true,因此非数字值传入也会返回 true ,会影响 NaN 的判断. 函数 Number.isNaN ...
- js中isNaN、Number.isNaN,isFinite、Number.isFinite的区别
判断是否是NaN的方法isNaN 全局作用域中,有个方法,叫isNaN,在判断数据的时候,会将数据做类型转换(可以判断字符串,布尔值等类型) ES6为了纠正数据类型转换的问题,提供了Number.is ...
- Javascript isNaN 与Number.isNaN
isNaN:先执行Number()强类型转换,能转换的,则isNaN 返回False,反之,返回true Number.isNaN() 只有NaN 返回true,其它都是false,所以可以看作严格判 ...
- JavaScript中search和match函数的区别
记得以前还在学校的时候,第一次接触 JavaScript 编程,算是第一种编程入门语言吧,总是分不清 search 和 match 这两个函数的区别,好不容易弄明白了,到了考试的时候又混淆了,唉!气. ...
- 检测数据类型、小数点后保留后N位方法、数据类型转换、window对象的方法 、分支结构 (if单分支、if-else 双分支、多重if结构)isNaN() 与 Number.isN的区别
目录 1.检测数据类型(typeof) 2.数据类型转换 转换为字符串类型 换为数字类型 其他类型转换为布尔值 小数点后保留后N位方法 3.window对象的方法 (window.可省略) 4.顺序流 ...
- isnan java_从 Number.isNaN 与 isNaN 的区别说起 例子
例子 大家先看一看下面这个例子, isNaN(NaN); isNaN('A String'); isNaN(undefined); isNaN({}); Number.isNaN(NaN); Numb ...
最新文章
- 浓烟滚滚!某市联通集体断网,谁的锅?
- 关于.cpp文件包含另一个.cpp文件出错的原因以及解决办法
- Faster RCNN总结
- html引入jquery_jQuery
- 应用程序错误 应用程序发生异常w3wp.exe
- 布局文件中出现的错误
- Mobile Phone Network CodeForces - 1023F(并查集lca+修改环)
- 98版五笔字型实用学习教程
- [译] Vue 最黑暗的一天
- Python的函数理解外传
- 隐藏专杀工具文件夹病毒专杀工具
- mysql错误:Subquery returns more than 1 row
- K2 重磅出击,构建财务共享中心方案,促进企业标准化
- Ubuntu 系统中网络总是断掉重新连接
- 常用的Java转义字符
- 实现QQ音乐项目的一些技术点jQuery,html5
- 如何在elementUi动态表格table中翻译字典值。vue通用方案
- python应用之复习计划生成器
- 【STM32】基于STM32F103C8T6的水质检测系统设计(声光报警、多级菜单)
- C语言printf()的用法