📜  (NaN != NaN) 和 (NaN !== NaN) 有什么区别?

📅  最后修改于: 2022-05-13 01:56:35.096000             🧑  作者: Mango

(NaN != NaN) 和 (NaN !== NaN) 有什么区别?

在大多数编程语言中, NaN表示不是数字。它属于数字数据类型(int、long、short 等)。它表示不能解释为有限值的数值。那就是无法定义它的价值。 NaN 的使用非常罕见。 NaN 是全局对象和数字对象的属性。它主要用于检查用户的数字输入,从而使程序无错误。
在 JavaScript 中,出现了这个问题,NaN!=NaN 和 NaN!==NaN 有什么区别?这个问题的答案是,就 NaN 而言,它们都产生相同的答案。两者都会导致 true。这是由于 NaN 的变量值。 NaN 不等于 NaN。

  • 代码 1:
javascript


javascript


  • 输出:
First Value : NaN
Second Value : NaN
Nan!==Nan: true
Nan!=Nan: true

  • 代码2:现在在第一个例子中我们清楚地知道我们不能计算负数的平方根,所以它导致了NaN。我们可以清楚地看到输出。

javascript

                   
  • 输出:
true
true
true
true

现在有两种方法可以检查所需的输入是否为 NaN。检查的第一种方法是isNaN() ,另一种是Number.isNaN () 。第二种方法仅适用于数字数据类型。第一种方法在代码 2 中演示。字符串变量是非数字的,因此您将得到输出为真(即它的一个 NaN)。
NaN!=Nan 和 NaN!==NaN 的区别:

  • 主要区别不在于 NaN,而在于运算符single = compare(NaN!=NaN) 只有每个 NaN 不相等的值
  • 在 NaN!==Nan 中也比较值的类型,所以现在区别很明显了。