js中 和 的區別

2022-06-18 22:36:20 字數 1317 閱讀 2530

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

這麼理解: 當進行雙等號比較時候: 先檢查兩個運算元資料型別,如果相同, 則進行===比較, 如果不同, 則願意為你進行一次型別轉換, 轉換成相同型別後再進行比較, 而===比較時, 如果型別不同,直接就是false.

運算元1 == 運算元2,  運算元1 === 運算元2

比較過程:

雙等號==: 

(1)如果兩個值型別相同,再進行三個等號(===)的比較

(2)如果兩個值型別不同,也有可能相等,需根據以下規則進行型別轉換在比較:

1)如果乙個是null,乙個是undefined,那麼相等

2)如果乙個是字串,乙個是數值,把字串轉換成數值之後再進行比較

三等號===:

(1)如果型別不同,就一定不相等

(2)如果兩個都是數值,並且是同乙個值,那麼相等;如果其中至少乙個是nan,那麼不相等。(判斷乙個值是否是nan,只能使用isnan( ) 來判斷)

(3)如果兩個都是字串,每個位置的字元都一樣,那麼相等,否則不相等。

(4)如果兩個值都是true,或是false,那麼相等

(5)如果兩個值都引用同乙個物件或是函式,那麼相等,否則不相等

(6)如果兩個值都是null,或是undefined,那麼相等

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

這麼理解: 當進行雙等號比較時候: 先檢查兩個運算元資料型別,如果相同, 則進行===比較, 如果不同, 則願意為你進行一次型別轉換, 轉換成相同型別後再進行比較, 而===比較時, 如果型別不同,直接就是false.

運算元1 == 運算元2,  運算元1 === 運算元2

比較過程:

雙等號==: 

(1)如果兩個值型別相同,再進行三個等號(===)的比較

(2)如果兩個值型別不同,也有可能相等,需根據以下規則進行型別轉換在比較:

1)如果乙個是null,乙個是undefined,那麼相等

2)如果乙個是字串,乙個是數值,把字串轉換成數值之後再進行比較

三等號===:

(1)如果型別不同,就一定不相等

(2)如果兩個都是數值,並且是同乙個值,那麼相等;如果其中至少乙個是nan,那麼不相等。(判斷乙個值是否是nan,只能使用isnan( ) 來判斷)

(3)如果兩個都是字串,每個位置的字元都一樣,那麼相等,否則不相等。

(4)如果兩個值都是true,或是false,那麼相等

(5)如果兩個值都引用同乙個物件或是函式,那麼相等,否則不相等

(6)如果兩個值都是null,或是undefined,那麼相等

js中 和 的區別

等於,會發生資料 型別轉換 全等於,包括資料型別和值要全等 這裡要先了解js的資料型別有 字串,數值,陣列,物件,null,undefined,布林 型別轉換步驟 一 判斷有沒有nan,若有,一律返回false。二 判斷有沒有布林,若有,則布林 轉 數值。false是0,true是1 三 判斷有沒有...

js中 ,!和!!的區別

運算子匹配值是否相等 let a null let b undefined console.log a b false console.log 555 555 true console.log 5 555 true比較的左右兩端型別,然後判斷值。型別不同返回false console.log nul...

JS中「 」和「 」的區別

當進行雙等號比較時候 先檢查兩個運算元資料型別,如果相同,則進行 比較,如果不同,則願意為你進行一次型別轉換,轉換成相同型別後再進行比較,而 比較時,如果型別不同,直接就是false.a b,a b 比較過程 雙等號 1 如果兩個值型別相同,再進行三個等號 的比較 2 如果兩個值型別不同,也有可能相...