js ==和===以及!= 和 !==的區別
阿新 • • 發佈:2017-06-08
true style cnblogs 基礎類型 family var ber 16px 運算
一、js == 與 === 的區別[轉]
1. 對於string,number等基礎類型,==和===是有區別的 1)不同類型間比較,==之比較“轉化成同一類型後的值”看“值”是否相等,===如果類型不同,其結果就是不等 2)同類型比較,直接進行“值”比較,兩者結果一樣 2. 對於Array,Object等高級類型,==和===是沒有區別的,進行“指針地址”比較 3. 基礎類型與高級類型,==和===是有區別的 1)對於==,將高級轉化為基礎類型,進行“值”比較 2)因為類型不同,===結果為false== 和 != 比較若類型不同,先嘗試轉換類型,再作值比較,最後返回值比較結果,而 === 和 !== 只有在相同類型下,才會比較其值
1 var num = 1; 2 var str = ‘1‘; 3 var test = 1; 4 test == num //true 相同類型 相同值 5 test === num //true 相同類型 相同值 6 test !== num //false test與num類型相同,其值也相同, 非運算肯定是false 7 num == str //true 把str轉換為數字,檢查其是否相等。 8 num != str //false == 的 非運算 9 num === str //false 類型不同,直接返回false10 num !== str //true num 與 str類型不同 意味著其兩者不等 非運算自然是true啦
js ==和===以及!= 和 !==的區別