判断变量是否为 NaN
首先要明确 NaN 的一个特性, NaN不能用相等操作符(== 和 ===) 来判断, NaN === NaN 会返回 false;
下面是测试代码:
console.log(isNaN('1')) // false console.log(isNaN('')) // false console.log(isNaN(' ')) // false console.log(isNaN('35,37')) // true console.log(isNaN('123ABC')) // true console.log(isNaN('abcde')) // true console.log(isNaN(true)) // false console.log(isNaN(1)) // false console.log(isNaN(Infinity)) // false console.log(new Date().toString()) // Wed Apr 04 2018 00:49:06 GMT+0800 (中国标准时间) console.log(isNaN(new Date())) // false console.log(isNaN(new Date().toString())) // true console.log(isNaN(NaN)) // true console.log(isNaN(0/0)) // true console.log(isNaN(0/3)) // false console.log(isNaN(null)) // false console.log('---------------------------------------------------'); console.log('35,37' === '35,37'); // true console.log('123ABC' === '123ABC'); // true console.log('abcde' === 'abcde'); // true console.log(new Date().toString() === new Date().toString()); // true console.log(0/3 === 0/3); // true console.log(3/0 === 3/0); // true console.log(0 === 0); // true console.log('' === ''); // true console.log(Infinity === Infinity); // true console.log(true === true); // true console.log(null === null); // true console.log(1 === 1); // true console.log(10 === 10); // true console.log('---------------------重点来了------------------------------'); console.log(0/0 === 0/0); // false console.log(typeof(0/0)); // 'number' console.log(typeof 0/0); // NaN console.log(typeof(NaN)); // 'number' console.log(typeof NaN); // 'number' console.log(NaN === NaN); // false console.log('---------------------区别 0/0 和 NaN------------------------------'); console.log(typeof 0/0); // NaN console.log(typeof NaN); // 'number' console.log(typeof va); // 'number' console.log('---------------------方法总结------------------------------'); /* 综上 判断一个变量 到底是不是 NaN, 最好的办法就是 利用 NaN不能用相等操作符(== 和 ===) 来判断, NaN === NaN 会返回 false, 虽然, 0/0 === 0/0 也会返回 false,但是 0/0 它也只是个表达式而已,算出来的结果还是 NaN, 一般也没有需要这样写的情况, 所以 我们还是可以用 NaN === NaN 会返回 false 这样的特性,来进行 NaN 的判断 */ var va = NaN; if(va !== va){ console.log('这个变量 是 ---->' + va); }
本文来自博客园,作者:驸马爷,转载请注明原文链接:https://www.cnblogs.com/cnblogs-jcy/p/8714442.html
分类:
JavaScript 基础
标签:
NaN
, 判断变量是否为 NaN
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)