var num = 1; var str = '1'; var test = 1; test == num //true 相同類型 相同值 test === num //true 相同類型 相同值 test !== num //false test與num類型相同,其值也相同, 非運算肯定是false num == str //true 把str轉換為數字,檢查其是否相等。 num != str //false == 的 非運算 num === str //false 類型不同,直接返回false num !== str //true num 與 str類型不同 意味着其兩者不等 非運算自然是true啦
== 和 != 比較若類型不同,先償試轉換類型,再作值比較,最后返回值比較結果 。
而
=== 和 !== 只有在相同類型下,才會比較其值。