var num = 1; var str = '1'; var test = 1; test == num //true 相同類型 相同值 test num //true 相同類型 相同值 test !== num //false test與num類型相同,其值也相同, 非運算肯定是false nu ...
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啦
== 和 != 比較若類型不同,先償試轉換類型,再作值比較,最後返回值比較結果 。
而
=== 和 !== 只有在相同類型下,才會比較其值。(值和類型都相同的情況下比較)
==, 兩邊值類型不同的時候,要先進行類型轉換,再比較。
===,不做類型轉換,類型不同的一定不等。