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


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

1)不同類型間比較,==之比較“轉化成同一類型后的值”看“值”是否相等,===如果類型不同,其結果就是不等
2)同類型比較,直接進行“值”比較,兩者結果一樣
 
2、對於Array,Object等高級類型,==和===是沒有區別的
進行“指針地址”比較
 
3、基礎類型與高級類型,==和===是有區別的
1)對於==,將高級轉化為基礎類型,進行“值”比較
2)因為類型不同,===結果為false
 
復制代碼
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啦
復制代碼

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM