Posted on 2013-05-26 17:38
朱杰兵 阅读(175)
评论(0) 编辑 收藏
<script type="text/javascript">
function doit(){
var a="1";
var b=true;
var c=1;
var d=null;
var e=undefined;
alert(a==c) //true 类型不同先转换类型 值相等
alert(a===c); //false 类型不同不相等
alert(a==b); //true 类型不同转类型,值相同 true是bool型1 false是bool型0
alert(c===b); //false 类型不同,===肯定为false
alert(d==e); //true 不管类型,值相同
alert(d===e);//类型不同,===肯定false
}
</script>
注意:
1> alert("1" == true)
类型不同,"=="将先做类型转换,把true转换为1,即为 "1" == 1;返回true
2>
如果比较:"1" === true 左侧为字符型,右侧为bool布尔型,左右两侧类型不同,结果为false;
简而言之
== 两边值类型不同的时候,要先进行类型转换,再比较。
=== 不做类型转换,类型不同的一定不等。
就是 "==" 只要求值相等; "===" 要求值和类型都相等 ^_^