在javascript中”===”的确切含义是什

What is exactly the meaning of “===” in javascript?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Javascript === vs ==

"=="和"=="的区别是什么?谢谢!


"==="表示没有类型系数的相等。换句话说,如果使用三重等于,则值在类型中也必须相等。

例如

1
2
3
4
0==false   // true
0===false  // false, because they are of a different type
1=="1"     // true, auto type coersion
1==="1"    // false, because they are of a different type

来源:http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html


Ripped from my blog: keithdonegan.com

相等运算符(==)

相等运算符(==)检查两个操作数是否相同,如果相同则返回true,如果不同则返回false。

标识运算符(==)

标识运算符检查两个操作数是否"相同"。

这些规则确定两个值是否相同:

  • 他们必须有相同的类型。
  • 如果数字值具有相同的值,则它们是相同的,除非其中一个或两个值都是NaN。
  • 如果字符串值具有相同的值,则它们是相同的,除非字符串的长度或内容不同。
  • 如果两个值引用相同的对象、数组或函数,则它们是相同的。
  • 如果两个值都为空或未定义,则它们是相同的。


===运算符表示"完全等于",通过值和数据类型进行匹配。

==运算符表示"等于",仅按值匹配。


它测试值和类型的完全相等。

1
2
3
4
5
given the assignment
x = 7

x===7 is true
x==="7" is false

简而言之"=="测试值和类型是否相等:从这里: