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