五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

你知道JS中==和===區(qū)別嗎?

2022-03-12 13:41 作者:小小游戲開發(fā)程序員  | 我要投稿

前言

關(guān)鍵詞:==、===、JS、JavaScript、TypeScript、Cocos、比較判斷

簡單來說:== 代表相同, ===代表嚴(yán)格相同(數(shù)據(jù)類型和值都相等)。

【理解原理】:當(dāng)進(jìn)行雙等號比較時候,先檢查兩個操作數(shù)數(shù)據(jù)類型,如果相同,則進(jìn)行===比較,如果不同,則愿意為你進(jìn)行一次類型轉(zhuǎn)換,轉(zhuǎn)換成相同類型后再進(jìn)行比較,而===比較時,如果類型不同,直接就是false。

從這個過程來看,大家也能發(fā)現(xiàn),某些情況下我們使用===進(jìn)行比較效率要高些,因此,沒有歧義的情況下,不會影響結(jié)果的情況下,在JS中首選===進(jìn)行邏輯比較。

操作數(shù)1 == 操作數(shù)2, 操作數(shù)1 === 操作數(shù)2

【比較過程】:

**雙等號==: **

(1)如果兩個值類型相同,再進(jìn)行三個等號(===)的比較;(2)如果兩個值類型不同,也有可能相等,需根據(jù)以下規(guī)則進(jìn)行類型轉(zhuǎn)換在比較:

1、如果兩個值都是null,或是undefined,那么相等;如果一個是null,一個是undefined,那么相等;







2、如果一個是字符串,一個是數(shù)值,把字符串轉(zhuǎn)換成數(shù)值之后再進(jìn)行比較;



3、如果是整數(shù)類型和boolean類型的數(shù)值進(jìn)行比較,1和true使用==比較結(jié)果為true,0和false使用==比較結(jié)果也為true,其它都為false;可以理解記憶為使用==比較整數(shù)時將1等同true,將0等同false。









三等號===:

(1)如果類型不同,就一定不相等;

(2)如果兩個都是數(shù)值,并且是同一個值,那么相等;如果其中至少一個是NaN,那么不相等。(判斷一個值是否是NaN,只能使用isNaN( ) 來判斷)



(3)如果兩個都是字符串,每個位置的字符都一樣,那么相等,否則不等;





(4)如果兩個值都是true,或是false,那么相等;



(5)如果兩個值都引用同一個對象或是函數(shù),那么相等,否則不相等;





這點,跟Java中==和equals的區(qū)別類似。

【總結(jié)一下】:

【1】比較原理:==(雙等號)會先判斷類型,類型不同絕不相等,如果不同,會進(jìn)行一次類型轉(zhuǎn)換。===(三等號)如果類型不同,不再進(jìn)行下一步操作。故如果是進(jìn)行同類型值比較進(jìn)行邏輯條件是否成立的判斷,直接使用===(三等號)比較效率高!不需要進(jìn)行類型轉(zhuǎn)換。
【2】undefined和null:同為undefined或null,不管怎么比都為true,一個為null,一個為undefined,==(雙等號)比較為true,===(三等號)比較為false。
【3】整數(shù)與boolean比較,1和true用==比較為true,0和false用==號比較為true,其它為false。
【4】字符串和整數(shù)進(jìn)行比較,如果字符串轉(zhuǎn)換為整數(shù)和的值和整數(shù)相等,使用==比較為true,使用===比較為false。
【5】字符串和字符串比較,每個位置都一樣,使用==和===比較都返回true。簡言之,使用===比較不僅要類型相同還要值相等,跟Java中的equals類。

更多教學(xué)視頻及源碼素材:
https://www.bycwedu.com/promotion_channels/829468798

你知道JS中==和===區(qū)別嗎?的評論 (共 條)

分享到微博請遵守國家法律
台湾省| 清镇市| 渝北区| 介休市| 高州市| 开封市| 金乡县| 利川市| 沅陵县| 竹溪县| 淮北市| 阳城县| 长兴县| 石林| 麦盖提县| 鸡泽县| 正镶白旗| 大洼县| 许昌市| 乌兰察布市| 达日县| 泰顺县| 苗栗县| 大庆市| 肇庆市| 德兴市| 江口县| 甘孜| 平陆县| 循化| 荃湾区| 甘孜| 平陆县| 云龙县| 上饶市| 望城县| 娱乐| 北川| 仁寿县| 泗阳县| 霍城县|