JavaScript中==和==的区别

JavaScript中的====有什么区别? 我还见过!=!=运算符。 还有更多这样的运算符吗?

对该问题的评论 (3)

请看这里。http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html

3个等号意味着"没有类型强制的平等"。使用三等号,这些值在类型上也必须是相等的。

0 == false   // true
0 === false  // false, because they are of a different type
1 == "1"     // true, automatic type conversion for value only
1 === "1"    // false, because they are of a different type
null == undefined // true
null === undefined // false
'0' == false // true
'0' === false // false
评论(19)
解决办法

===!==是严格的比较运算符。

JavaScript同时具有严格和 类型转换的平等比较。 对于严格的平等,被比较的对象 被比较的对象必须具有相同的类型和。

  • 当两个字符串具有相同的序列时,它们是严格相等的。 字符序列相同,长度相同,并且在相应的位置有相同的 字符在相应的位置上。
  • 当两个数字在数字上相等(具有 相同的数字值)。)NaN不 等于任何东西,包括NaN。 正零和负零是相等的 彼此相等。
  • 如果两个布尔操作数都是真或者都是假,那么它们是严格相等的。 都是假的。
  • 如果两个对象指的是同一个 "对象",那么它们是严格相等的。
  • NullUndefined类型是==(但不是===)。[即(Null==Undefined)是true,但(Null===Undefined)是false]

比较运算符 - MDC

评论(5)