> 簡單來說: == 代表相同, ===代表嚴格相同, 為啥這麼說呢,
>
> 這麼理解: 當進行雙等號比較時候: 先檢查兩個運算元資料型別,如果相同, 則進行===比較, 如果不同, 則願意為你進行一次型別轉換,
> 轉換成相同型別後再進行比較, 而===比較時, 如果型別不同,直接就是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中 和 區別
1 簡單來說 代表相同,代表嚴格相同,為啥這麼說呢,這麼理解 當進行雙等號比較時候 先檢查兩個運算元資料型別,如果相同,則進行 比較,如果不同,則願意為你進行一次型別轉換,轉換成相同型別後再進行比較,而 比較時,如果型別不同,直接就是false.運算元1 運算元2,運算元1 運算元2 2 比較過程 ...
js中 和 區別
1 如果兩個值型別相同,再進行三個等號 的比較 2 如果兩個值型別不同,也有可能相等,需根據以下規則進行型別轉換在比較 1 如果型別不同,就一定不相等 2 如果兩個都是數值,並且是同乙個值,那麼相等 如果其中至少乙個是nan,那麼不相等。判斷乙個值是否是nan,只能使用isnan 來判斷 3 如果兩...
js中 和 區別
非常簡單,是值相等 是值相等,型別也相等。是 的否,是 的否 雙等號 1 如果兩個值型別相同,再進行三個等號 的比較 2 如果兩個值型別不同,也有可能相等,需根據以下規則進行型別轉換在比較 1 如果乙個是null,乙個是undefined,那麼相等 2 如果乙個是字串,乙個是數值,把字串轉換成數值之...