區別:「==」表示相等,「====」表示嚴格相等。 「==」運算子會在進行相等比較之前先進行必要值的類型轉換;而「===」運算子不會執行型別轉換,因此如果兩個值型別不同,那麼比較時,直接傳回false。
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
簡單來說: == 代表相等, ===代表嚴格相等, 為啥這麼說呢,
這麼理解: 進行雙等號比較時候: 先檢查兩個操作數資料類型,如果相同, 則進行===比較, 如果不同, 則願意為你進行一次類型轉換, 轉換成相同類型後再進行比較,而===比較時, 如果型別不同,直接就是false.
操作數1 == 運算元數2, 運算元1 === 運算元2
雙等號==:
(1)如果兩個值型別相同,再進行三個等號(===)的比較
(2)如果兩個值型別不同,也有可能相等,需依照下列規則進行型別轉換在比較:
1)如果一個是null,一個是undefined,那麼相等
2)如果一個是字串,一個是數值,把字串轉換成數值之後再進行比較
#三等號===:
(1)如果型別不同,就一定不相等
(2)如果兩個都是數值,並且是同一個值,那麼相等;如果其中至少一個是NaN,那麼不相等。 (判斷一個值是否為NaN,只能用isNaN( ) 來判斷)
(3)如果兩個都是字串,每個位置的字元都一樣,那麼相等,否則不相等。
(4)如果兩個值都是true,或是false,那麼相等
(5)如果兩個值都引用同一個物件或函數,那麼相等,否則不相等
(6)如果兩個值都是null,或是undefined,那麼相等
【推薦學習:javascript高階教學】
#以上是js中==和===的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!