JS中的!=、== 、!==、===的用法和區別。

明天還有我發表於2016-03-07

js == 與 === 的區別

1、對於string,number等基礎型別,==和===是有區別的

1)不同型別間比較,==之比較“轉化成同一型別後的值”看“值”是否相等,===如果型別不同,其結果就是不等
2)同型別比較,直接進行“值”比較,兩者結果一樣
2、對於Array,Object等高階型別,==和===是沒有區別的
進行“指標地址”比較
3、基礎型別與高階型別,==和===是有區別的
1)對於==,將高階轉化為基礎型別,進行“值”比較

2)因為型別不同,===結果為false


JS中的!=、== 、!==、===的用法和區別。


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啦 

== 和 != 比較若型別不同,先償試轉換型別,再作值比較,最後返回值比較結果 。

而 
=== 和 !== 只有在相同型別下,才會比較其值。

相關文章