为什么在 JS 中 isNaN(null) == false?
isNan() 方法用于在 JavaScript 中检查是否存在未定义值,或可以说检查是否存在一个 NaN 对象。
示例
要检查 JavaScript 日期是否有效,你可以尝试运行以下代码 -
<!DOCTYPE html> <html> <body> <script> var date1, date2; date1 = new Date("2018/1/1"); if( ! isNaN ( date1.getMonth() )) { document.write("Valid date1: "+date1); } else { document.write("<br>Invalid date1"); } date2 = new Date("20181/1"); if( ! isNaN ( date2.getMonth() )) { document.write("<br> Valid date2: "+date2); } else { document.write("<br>Invalid date2"); } </script> </body> </html>
isNaN(null) == false 在语义上是正确的。这是因为 null 不是 NaN。
广告