不管是java、c++、php都有相等运算符与等同运算符,当然javasript也不例外。

下面说说吧。
==运算符和===运算符用来检测两个值是否相等,它们采用了具有同一特质的两个不同定义。这两个运算符都接受任意类型的运算数,如果两个运算数相等,它们都返回true,否则都返回false,===运算符是等同运算符,它采用严格的同一特质定义检测两个运算数是否完全相同,亲们注意是完全相同哦。==运算符是相等运算符,它采用比较宽松的同一特质定义比较两个运算数是否相等。
这样概念有个基本认识。
下面说下具体判定两个值是相等情况吧。
===运算符两个值比较
1,如果两个值类型不同,它们就不相同
2,如果两个值的类型是数字,而且值相同,那么除非中间有一个或者两个都是(NaN)这种情况它们不是等同,否则它们是等同
3,如果两个值是字符串,而且串中同一个位置上的字符完全相同,那么它们就完全等同,如果字符串的长度或者内容不同,那么它们就不是等同的咯
==运算符两个值比较
1,如果两个值的类型相同,那么就检测它们的等同性。如果两个值完全相同,它们就相等。如果它们不完全相同,它们就不相等了
2,如果两个值的类型不同,它们仍然有可能相等(举几个例子)
1)如果一个值是null,另外一个值是undefined,它们相等
2)如果一个值是数字,另外一个值是字符串,把字符串转换成数字,再用转换后的值比较
3)如果一个值是true,将它转化成1,再进行比较。如果一个值为false,把它转化为0,再进行比较
4)如果一个值是对象,另外一个值是数字或字符串,将对象转换成原始类型的值,再比较。
 
原文地址 前端开发 http://www.jqueryba.com/174.html