摘要:同一類的復(fù)合類型值兩個(gè)復(fù)合類型對(duì)象數(shù)組函數(shù)的數(shù)據(jù)比較時(shí),不是比較它們的值是否相等,而是比較它們是否指向同一個(gè)對(duì)象。寬松相等雙等號(hào)將執(zhí)行類型轉(zhuǎn)換原始類型的值原始類型的數(shù)據(jù)會(huì)轉(zhuǎn)換成數(shù)值類型再進(jìn)行比較。
事件這塊知識(shí)點(diǎn)雖然是老生長(zhǎng)談的,但對(duì)于我來說多多整理,多多感悟,溫故知新,每次看看這塊都有不同的收獲.(在這里我不會(huì)長(zhǎng)篇大論,只會(huì)挑重點(diǎn);具體的小伙伴們自行查找)JavaScript提供三種不同的值比較操作
參考:https://developer.mozilla.org...
嚴(yán)格相等 "==="
寬松相等 "=="
Object,is(es6d的新特性)
嚴(yán)格相等三等號(hào)將進(jìn)行相同的比較,而不進(jìn)行類型轉(zhuǎn)換 (如果類型不同, 只是總會(huì)返回 false ) ,
如果兩個(gè)值都是 number類型,當(dāng)兩個(gè)都不是 NaN,并且數(shù)值相同, 或是兩個(gè)值分別為 +0 和 -0 時(shí),兩個(gè)值被認(rèn)為是全等的
(1)不同類型值
如果兩個(gè)值的類型不同,直接返回false
(2)同一類的原始類型值
同一類型的原始類型的值(數(shù)值、字符串、布爾值)比較時(shí),值相同就返回true,值不同就返回false。
(3)同一類的復(fù)合類型值
兩個(gè)復(fù)合類型(對(duì)象、數(shù)組、函數(shù))的數(shù)據(jù)比較時(shí),不是比較它們的值是否相等,而是比較它們是否指向同一個(gè)對(duì)象。寬松相等
雙等號(hào)將執(zhí)行類型轉(zhuǎn)換
(1)原始類型的值
原始類型的數(shù)據(jù)會(huì)轉(zhuǎn)換成數(shù)值類型再進(jìn)行比較。字符串和布爾值都會(huì)轉(zhuǎn)換成數(shù)值
(2)對(duì)象與原始類型值比較
對(duì)象(這里指廣義的對(duì)象,包括數(shù)值和函數(shù))與原始類型的值比較時(shí),對(duì)象轉(zhuǎn)化成原始類型的值,再進(jìn)行比較
(3)undefined和null
undefined和null與其他類型的值比較時(shí),結(jié)果都為false,它們互相比較時(shí)結(jié)果為true
(4)其他類型和布爾之間的相等比較
會(huì)首先把boolean 強(qiáng)制轉(zhuǎn)換成 .toNumber();Object.is
的行為方式與三等號(hào)相同, 但是對(duì)于NaN和-0和+0進(jìn)行特殊處理,對(duì)比圖
所以最后兩個(gè)不相同,
Object.is(NaN,NaN)將為 true
Object.is(+0,-0)將為 false
最后 ,請(qǐng)小伙伴們多看看這張"判斷圖片"
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/107444.html
摘要:同一類的復(fù)合類型值兩個(gè)復(fù)合類型對(duì)象數(shù)組函數(shù)的數(shù)據(jù)比較時(shí),不是比較它們的值是否相等,而是比較它們是否指向同一個(gè)對(duì)象。寬松相等雙等號(hào)將執(zhí)行類型轉(zhuǎn)換原始類型的值原始類型的數(shù)據(jù)會(huì)轉(zhuǎn)換成數(shù)值類型再進(jìn)行比較。 事件這塊知識(shí)點(diǎn)雖然是老生長(zhǎng)談的,但對(duì)于我來說多多整理,多多感悟,溫故知新,每次看看這塊都有不同的收獲.(在這里我不會(huì)長(zhǎng)篇大論,只會(huì)挑重點(diǎn);具體的小伙伴們自行查找)參考:https://dev...
摘要:同一類的復(fù)合類型值兩個(gè)復(fù)合類型對(duì)象數(shù)組函數(shù)的數(shù)據(jù)比較時(shí),不是比較它們的值是否相等,而是比較它們是否指向同一個(gè)對(duì)象。寬松相等雙等號(hào)將執(zhí)行類型轉(zhuǎn)換原始類型的值原始類型的數(shù)據(jù)會(huì)轉(zhuǎn)換成數(shù)值類型再進(jìn)行比較。 事件這塊知識(shí)點(diǎn)雖然是老生長(zhǎng)談的,但對(duì)于我來說多多整理,多多感悟,溫故知新,每次看看這塊都有不同的收獲.(在這里我不會(huì)長(zhǎng)篇大論,只會(huì)挑重點(diǎn);具體的小伙伴們自行查找)參考:https://dev...
摘要:通常在轉(zhuǎn)換不同數(shù)據(jù)類型時(shí),相等和不相等會(huì)遵循以下規(guī)則若有一個(gè)操作數(shù)是布爾值,則比較前會(huì)將布爾值轉(zhuǎn)換為數(shù)值轉(zhuǎn)為,轉(zhuǎn)為。 本文是 重溫基礎(chǔ) 系列文章的第十八篇。今日感受:優(yōu)化自己的代碼,也是很愉快的事情。 系列目錄: 【復(fù)習(xí)資料】ES6/ES7/ES8/ES9資料整理(個(gè)人整理) 【重溫基礎(chǔ)】1-14篇 【重溫基礎(chǔ)】15.JS對(duì)象介紹 【重溫基礎(chǔ)】16.JSON對(duì)象介紹 【重溫基礎(chǔ)...
摘要:而之后事件循環(huán)一直會(huì)去遍歷任務(wù)隊(duì)列,一旦有任務(wù)放入就會(huì)放入主線程中執(zhí)行。任務(wù)隊(duì)列所謂任務(wù)是返回的一個(gè)個(gè)通知,讓主線程在讀取任務(wù)隊(duì)列的時(shí)候得知這個(gè)異步任務(wù)已經(jīng)完成,下一步該執(zhí)行這個(gè)任務(wù)的回調(diào)函數(shù)了。 javascript單線程 瀏覽器端,復(fù)雜的UI環(huán)境會(huì)限制多線程語(yǔ)言的開發(fā)。例如,一個(gè)線程在操作一個(gè)DOM元素時(shí),另一個(gè)線程需要去刪除DOM元素,這個(gè)之間就需要進(jìn)行狀態(tài)的同步,何況前端可能不...
閱讀 2428·2021-11-25 09:43
閱讀 1259·2021-11-24 09:39
閱讀 760·2021-11-23 09:51
閱讀 2395·2021-09-07 10:18
閱讀 1888·2021-09-01 11:39
閱讀 2790·2019-08-30 15:52
閱讀 2604·2019-08-30 14:21
閱讀 2869·2019-08-29 16:57