==//表示值的比較
===//表示對象類型的比較
1、對於string,number等基礎類型,==和===是有區別的。
a)不同類型間比較,==之比較“轉化成同一類型后的值”看“值”是否相等,===如果類型不同,其結果就是不等。
b)同類型比較,直接進行“值”比較,兩者結果一樣。
alert('1'==1);//結果是true alert('1'===1);//結果是false
2、對於Array,Object等高級類型,==和===是沒有區別的。
進行“指針地址”比較。
3、基礎類型與高級類型,==和===是有區別的。
a)對於==,將高級轉化為基礎類型,進行“值”比較。
b)因為類型不同,===結果為false。
var a = new String('1');//定義一個string的高級類型 var b = '1';//定一個基礎類型字符串 alert(b==a);//為true alert(b===a);//為false