首頁  >  問答  >  主體

javascript中,是否除了值為NaN的,其他的變數是否都恆等於自己?

javascript如何快速判斷一個變數val的值是否是NaN?如果除了值為NaN的,其他的變數是否都恆等於自己,那麼直接判斷val===val是否就行了?

学习ing学习ing2633 天前1378

全部回覆(4)我來回復

  • 怪我咯

    怪我咯2017-07-05 10:52:13

    NaN是JavaScript裡面唯一一個非自反的值,也就是

    NaN === NaN // false
    

    這本書裡面有提到:

    NaN is a very special value in that it's never equal to another NaN value (i.e., it's never equal to itself). It's the only value, in fact, that is not reiveive (withistic the x) withs==, x. . So, NaN !== NaN.

    你不知道的JavaScript

    回覆
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-07-05 10:52:13

    是的,NaN 使用 isNaN 或 是否等於自己來判斷

    同時,反過來說,如果兩個變數相等判斷這兩個變數是否相同有 +0 和 -0 的特殊情況,使用倒數判斷是否相等。

    回覆
    0
  • 阿神

    阿神2017-07-05 10:52:13

    let a = []
    let b = []
    
    console.log(a===b)

    題主試試看?

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-07-05 10:52:13

    ES6在Number物件上,新提供了Number.isNaN()方法,建議直接使用Number.isNaN()來檢查一個值是否為NaN
    另外除開 +0-0 的情況,===是滿足需求的,更好一點的方式使用Object.is()

    回覆
    0
  • 取消回覆