在javascript中,判斷兩個變量是否相等的操作符有兩組,他們分別是:相等和不相等,全等和不全等。他們的區別就是相等和不相等是先轉換然後比較,全等和不全等不轉換隻比較。
相等與不相等
相等是用兩個等號表示,即“==”,而不相等則用歎號與等號表示,即“!=”,這兩個操作符都會先轉換操作數,然後在進行比較。比如:
var a = ("123" == 123);
alert(a);//結果爲true
爲什麼結果是true呢?因爲在比較之前操作數被轉換了,即字符串“123”被轉換成了數字123,所以會返回true。此外,如果操作數是布爾值,則true會被轉換成1,而false則會被轉換成0。不相等(“!=”)同理。
全等與不全等
除了不轉換操作數之外,全等和相等沒有區別,全等使用三個等號表示,即“===”,而不全等用一個歎號和兩個等號表示,即“!==”。例子如下:
var a = ("123" === 123);
alert(a)//結果爲false
var b = ("123" !== 123);
alert(b)//結果爲true
因爲上面兩個比較值一個類型是字符串,另一個是數字,而全等不進行轉換,所以a返回false,b返回true。