Js判斷值是否是NaN


方法一: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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM