回答
如果它是一个数字,并且不等于它自己,它是NaN。
注意:正如@pst指出的那样,数字约束是不必要的。 NaN
似乎是JS!=本身中唯一的值。
@pst你可能是对的,让我考虑一下。 –
@pst对象不等于相同的对象,(至少和'=='操作符一样多)。 –
这可能是有用的:http://jsfiddle.net/SdMSS/ – Shmiddty
对这个问题的完整解决方案:
var is_NaN = function(n) {
return (n !== n);
}
is_NaN(1/'a'); // true
isNaN(1/'a'); // true
因为在JavaScript NaN
不等于本身。一种表达NaN === NaN
总是返回false
第二种方案:
您可以使用内置的isFinite
功能。 isFinite
检查输入是否是的数字既不是Infinity
也不是NaN
。
isFinite(NaN) // false
isFinite(Infinity) // false
isFinite(1) // true
isFinite(true) // true, because argument true is equal to 1
isFinite('a') // false
isFinite(1/'a') // false
尽管这段代码可能解决这个问题,[包括解释](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)确实有助于提高您的质量帖子。请记住,您将来会为读者回答问题,而这些人可能不知道您的代码建议的原因。 - [来自评论](https://stackoverflow.com/review/low-quality-posts/12012003) – Ferrybig
ECMA 6
Number.isNaN(42) === false
Number.isNaN(NaN) === true
- 1. 是否可以在不使用debugfs的情况下使用ftrace?
- 2. 是否可以在不使用Rails的情况下使用FactoryGirl?
- 3. 是否可以在不使用Xcode的情况下使用XCTest单元测试?
- 4. 是否可以在不拖放的情况下使用Linq-SQL?
- 5. 是否可以在不渲染HTML的情况下使用React?
- 6. JavaScript - 是否可以在不使用OR的情况下在一种情况下检查多个工作日?
- 7. 您是否可以在不打开它的情况下检测到安全.pdf?
- 8. 是否可以在不检测VCS的情况下更改文件行?
- 9. 是否可以在不使用Activity类的情况下检索联系人?
- 10. 是否可以在不禁用JavaScript的情况下禁用AJAX?
- 11. 是否可以在没有Karma的情况下测试Angular?
- 12. 我可以在不使用switch语句的情况下测试枚举值是否为特定情况吗?
- 13. 是否可以在没有IIS的情况下使用Silverlight RiaServices?
- 14. 是否可以在没有log4j的情况下使用perf4j?
- 15. 是否可以在没有Expressj的情况下使用Passport.js?
- 16. 是否可以在没有QtConcurrent的情况下使用QFuture?
- 17. 是否可以在没有RTP/SAVP的情况下使用SIPML5
- 18. 是否可以在没有MFC的情况下使用CListCtrl
- 19. 是否可以在没有jQuery的情况下使用Materializecss?
- 20. 是否可以在没有FOSUserBundle的情况下使用FOSCommentBundle?
- 21. 是否可以在没有GMS的情况下使用Google API?
- 22. 是否可以在没有VT-x的情况下使用Boot2Docker?
- 23. 是否可以在没有RPC的情况下使用Apache Thrift?
- 24. 检查是否isNan在条件下
- 25. 是否可以在不使用RefreshToken的情况下使用Google Adwords API?
- 26. 是否可以在不使用回调的情况下使用Google地图?
- 27. 是否可以在不使用eclipse的情况下使用Android SDK?
- 28. 是否可以在不使用UWP的情况下使用.NET Native?
- 29. 是否可以在不使用freeglut的情况下使用滚轮按钮?
- 30. SQL - 在这种情况下是否可以使用COUNT()?
是。 'NaN'在平等使用时有什么特性? < - :-) – 2013-01-02 19:08:41
考虑此一提示从一个很好的访问者@pst'一个= NaN' '的typeof A' =>' “数量”'' A' !! = >'FALSE' ' b = 0' 'typeof b' =>'“number”' '!! b' =>'false' – Mohsen
真的够了......但是在那里没有使用等号运算符(例如'==')。我所考虑的平等表达通常会被视为一种重言式*。 – 2013-01-02 19:12:46