JavaScript 特殊数字值 NaN


NaN是唯一一个不和自身不相等的值,Array》prototype.indexOf 使用了严格相等,因此不能通过该方法在数组中查找 NaN:

NaN === NaN // false
[NaN].indexof(NaN); // false

如果想要检查一个值是否为 NaN,必须使用全局函数 isNaN():

isNaN(NaN); // true
isNaN(33); // false

但是,isNaN 对非数字不起作用,最好是把 isNaN 和类型检查组合起来:

function checkNaN(value) {
  return typeof value === 'number' && isNaN(value);
}

或者,可以检查这个值是否和它本身不相等,因为 NaN 是唯一有这样特征的值:

function checkNaN(value) {
  return vlaue !== value;
}

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/287276.html

(0)
上一篇 2022年9月5日
下一篇 2022年9月5日

相关推荐

发表回复

登录后才能评论