聊聊NaN是什么

本文深入探讨了JavaScript中NaN的概念,解释了NaN是如何产生的,以及它作为数值类型而非真正数字的独特性质。文章还介绍了如何使用isNaN()函数来检测一个值是否为NaN。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NaN表示不是数字(not a number)。是 JavaScript 的特殊值,出现NaN的主要原因是将字符串解析成数字时出现错误。
NaN虽然表示不是数字,但仍是数值类型(number类型)。

例如:document.write(“11”-“abc”);
其执行结果为:NaN
其执行结果为:NaN的原因是一个数值型字符串和另一个非数值型字符串相减其结果就为NaN,就是非数值型字符串解析成数字时出现错误。

document.write(typeof NaN);
其得到的结果是:number

需要注意的是NaN不等于任何值,包括它本身。
console.log(NaN===NaN); //结果为false

isNaN(参数) 其参数可以是任意类型。该函数可以帮助我们确定这个参数是否“不是数值”。isNaN在接收到一个参数值之后,会对这个参数值进行解析,将其转换为数值类型而任何不能被转换为数值类型的参数值都会导致这个函数返回true。

例如:console.log(isNaN(NaN)); //true(不能转换为数值)
console.log(isNaN(77)); //false(77是整数)
console.log(isNaN(“77”)); //false(可以转换为数值77)
console.log(isNaN(“world”)); //true(不能转换为数值)
console.log(isNaN(true)); //false(可以转换为数值1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值