首頁  >  文章  >  web前端  >  js中==和===的差別是什麼

js中==和===的差別是什麼

青灯夜游
青灯夜游原創
2021-05-07 18:05:0521715瀏覽

區別:「==」表示相等,「====」表示嚴格相等。 「==」運算子會在進行相等比較之前先進行必要值的類型轉換;而「===」運算子不會執行型別轉換,因此如果兩個值型別不同,那麼比較時,直接傳回false。

js中==和===的差別是什麼

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

js中==和===區別

簡單來說: == 代表相等, ===代表嚴格相等, 為啥這麼說呢, 

這麼理解: 進行雙等號比較時候: 先檢查兩個操作數資料類型,如果相同, 則進行===比較, 如果不同, 則願意為你進行一次類型轉換, 轉換成相同類型後再進行比較,而===比較時, 如果型別不同,直接就是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中文網其他相關文章!

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