首頁  >  文章  >  web前端  >  javascript中=、==、===是否有差別

javascript中=、==、===是否有差別

青灯夜游
青灯夜游原創
2021-10-19 12:01:164536瀏覽

有差別。在javascript中,「=」是賦值運算符,會把右側值賦值給左側變數;而「==」和「===」是比較運算符,用來比較左右兩側的表達式是否相等。 「==」在相等比較前,會先進行必要值的型別轉換;而「===」不會執行型別轉換。

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn