码迷,mamicode.com
首页 > Web开发 > 详细

Js判断值是否是NaN

时间:2019-12-18 17:42:04      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:strong   line   func   性问题   除了   OLE   其他   window   code   

方法一:window.isNaN()

  注意: window.isNaN 只对数值有效,如果传入其他值,会被先转成数值。比如,传入字符串的时候,字符串会被先转成NaN,所以最后返回true,这一点要特别引起注意。也就是说,isNaN为true的值,有可能不是NaN,而是一个字符串。(不是数值会先调用 Number 方法转化为数值)

方法二:Number.isNaN(value)(ES6语法,存在兼容性问题)

  1. 首先判断 value 类型是不是 number; 2. 然后判断 value 是不是 NaN

 

 

推荐方法:

Number.isNaN = Number.isNaN || function(value) {
    return  (typeof value) === ‘number‘ && window. isNaN(value);
}

 

 

补充知识:

  1.  NaN 是 JavaScript 之中唯一不等于自身的值
  2. Object.is() 是 ES6 用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致。除了对 +0 和 -0 以及 NaN 的判断

NaN === NaN                        //false
Object.is(NaN, NaN)              //true

+0 === -0                                //true
Object.is(+0, -0)                      //false

Js判断值是否是NaN

标签:strong   line   func   性问题   除了   OLE   其他   window   code   

原文地址:https://www.cnblogs.com/chenmeijiao/p/12060834.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!