之前使用JavaScript的時候,時不時的會遇到使用 == 和 === 這兩個符號來判斷兩個變量是否相等。但是對于這兩個符號的差別一直沒有去調(diào)查。今天又遇到了 === 這個符號,所以決定去查一下,究竟這兩者有什么區(qū)別。
在Javascript中有"=="和"==="兩種比較運行符,那么他們有什么區(qū)別呢?
一、對于string,number等基礎(chǔ)類型,==和===是有區(qū)別的
1)不同類型間比較,==之比較“轉(zhuǎn)化成同一類型后的值”看“值”是否相等,===如果類型不同,其結(jié)果就是不等
2)同類型比較,直接進行“值”比較,兩者結(jié)果一樣
二、對于Array,Object等高級類型,==和===是沒有區(qū)別的
當(dāng)一個變量定義為Arrary和一個變量定義為Object類型時,但是其值相同時,==和===比較的結(jié)果是相同的,因為它是進行“指針地址”比較
三、基礎(chǔ)類型與高級類型,==和===是有區(qū)別的
1)對于==,將高級轉(zhuǎn)化為基礎(chǔ)類型,進行“值”比較
2)因為類型不同,===結(jié)果為false
更多信息請查看IT技術(shù)專欄