- 簡(jiǎn)單來(lái)說(shuō): == 代表相同, ===代表嚴(yán)格相同
- 當(dāng)進(jìn)行雙等號(hào)比較時(shí)候: 先檢查兩個(gè)操作數(shù)數(shù)據(jù)類(lèi)型噪舀,如果相同魁淳, 則進(jìn)行===比較飘诗; 如果不同, 則愿意為你進(jìn)行一次類(lèi)型轉(zhuǎn)換界逛, 轉(zhuǎn)換成相同類(lèi)型后再進(jìn)行比較昆稿,
- 而===比較時(shí), 如果類(lèi)型不同息拜,直接就是false
操作數(shù)1 == 操作數(shù)2溉潭, 操作數(shù)1 === 操作數(shù)2
- 比較過(guò)程:
2.1 雙等號(hào)==:
(1)如果兩個(gè)值類(lèi)型相同净响,再進(jìn)行三個(gè)等號(hào)(===)的比較
(2)如果兩個(gè)值類(lèi)型不同,也有可能相等喳瓣,需根據(jù)以下規(guī)則進(jìn)行類(lèi)型轉(zhuǎn)換在比較:
如果一個(gè)是null馋贤,一個(gè)是undefined,那么相等
如果一個(gè)是字符串畏陕,一個(gè)是數(shù)值配乓,把字符串轉(zhuǎn)換成數(shù)值之后再進(jìn)行比較
2.2 三等號(hào)===:
(1)如果類(lèi)型不同,就一定不相等
(2)如果兩個(gè)都是數(shù)值惠毁,并且是同一個(gè)值犹芹,那么相等;如果其中至少一個(gè)是NaN鞠绰,那么不相等腰埂。(判斷一個(gè)值是否是NaN,只能使用isNaN( ) 來(lái)判斷)
(3)如果兩個(gè)都是字符串蜈膨,每個(gè)位置的字符都一樣屿笼,那么相等,否則不相等翁巍。
(4)如果兩個(gè)值都是true刁卜,或是false,那么相等
(5)如果兩個(gè)值都引用同一個(gè)對(duì)象或是函數(shù)曙咽,那么相等蛔趴,否則不相等
(6)如果兩個(gè)值都是null,或是undefined例朱,那么相等