1686

==JavaScript和JavaScript有什么区别===?我也见过!=!==运营商。还有更多这样的运营商吗?

4

2 回答 2

2005

看看这里: 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
于 2009-02-07T11:57:35.353 回答
1209

===并且!==是严格的比较运算符:

JavaScript 具有严格的和类型转换的相等比较。为了strict相等,被比较的对象必须具有相同的类型并且:

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

比较运算符 - MDC

于 2009-02-07T11:55:34.547 回答