"==":

1,如果两表达式的类型不同,则试图将它们转换为字符串、数字或 Boolean 量。
2,NaN 与包括其本身在内的任何值都不相等。
3,负零等于正零。
4,null 与 null 和 undefined 相等。
5,相同的字符串、数值上相等的数字、相同的对象、相同的 Boolean 值或者(当类型不同时)能被强制转化为上述情况之一,均被认为是相等的。
6,其他比较均被认为是不相等的。
<html>
<body>
<script>
//1,5
var a = 1;
var b = '1';
alert(a==b);//true b = false;
alert(a==b);//false,false转为0,true转为1 //2
a = NaN;
b = NaN;
alert(a==b);//false //3
a = 0;
b = -0;
alert(a==b);//true //4
a = null;
b = null;
alert(a==b);//true b = undefined;
alert(a==b);//true
</script>
</body>
</html>

"===":

除了不进行类型转换,并且类型必须相同以外,这些运算符与相等运算符的作用是一样的。 
<html>
<body>
<script>
//1,5
var a = 1;
var b = '1';
alert(a===b);//false b = false;
alert(a===b);//false //2
a = NaN;
b = NaN;
alert(a===b);//false //3
a = 0;
b = -0;
alert(a===b);//true //4
a = null;
b = null;
alert(a===b);//true b = undefined;
alert(a===b);//false
</script>
</body>
</html>
05-11 17:12
查看更多