您好,登錄后才能下訂單哦!
這篇文章主要介紹javascript中的恒等運(yùn)算符是哪個(gè),文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
在javascript中,恒等運(yùn)算符是“===”,用于比較等式兩邊的操作數(shù)是否相等?!?==”在比較運(yùn)算時(shí),不僅會(huì)比較兩個(gè)操作數(shù)的值是否相等,還會(huì)檢測(cè)它們的類型是否相同;只要值相等,類型相同,就會(huì)返回true。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
在javascript中,恒等運(yùn)算符是“===”,用于比較等式兩邊的操作數(shù)是否相等。
“===”運(yùn)算符在比較運(yùn)算時(shí),不僅會(huì)比較兩個(gè)操作數(shù)的值是否相等,還會(huì)檢測(cè)它們的類型是否相同。
在恒等運(yùn)算中,應(yīng)注意以下幾個(gè)問題:
如果兩個(gè)操作數(shù)都是簡(jiǎn)單的值,則只要值相等,類型相同,就全等。
如果一個(gè)操作數(shù)是簡(jiǎn)單的值,另一個(gè)操作數(shù)是復(fù)合型對(duì)象,則不全等。
如果兩個(gè)操作數(shù)都是復(fù)合型對(duì)象,則比較引用地址是否相同。
(1)如果類型不同,就一定不相等
(2)如果兩個(gè)都是數(shù)值,并且是同一個(gè)值,那么相等;如果其中至少一個(gè)是NaN,那么不相等。(判斷一個(gè)值是否是NaN,只能使用isNaN( ) 來判斷)
(3)如果兩個(gè)都是字符串,每個(gè)位置的字符都一樣,那么相等,否則不相等。
(4)如果兩個(gè)值都是true,或是false,那么相等
(5)如果兩個(gè)值都引用同一個(gè)對(duì)象或是函數(shù),那么相等,否則不相等
(6)如果兩個(gè)值都是null,或是undefined,那么相等
示例1
下面是特殊操作數(shù)的全等比較。
console.log(null === undefined); //返回false console.log(0 === "0"); //返回false console.log(0 === false); //返回false
示例2
下面是兩個(gè)對(duì)象的比較,由于它們都引用了相同的地址,所以返回 true。
var a = {}; var b = a; console.log(a === b); //返回true
下面兩個(gè)對(duì)象雖然結(jié)構(gòu)相同,但是地址不同,所以不全等。
var a = {}; var b = {}; console.log(a === b); //返回false
示例3
對(duì)于復(fù)合型對(duì)象,主要比較引用的地址,不比較對(duì)象的值。
var a = new String("abcd); //定義字符串“abcd”對(duì)象 var b = new String("abcd); //定義字符串“abcd”對(duì)象 console.log(a === b); //返回false console.log(a == b); //返回false
在上面示例中,兩個(gè)對(duì)象的值相等,但是引用地址不同,所以它們既不想等,也不全等。因此,對(duì)于復(fù)合型對(duì)象來說,相等==和全等===運(yùn)算的結(jié)果是相同的。
示例4
對(duì)于簡(jiǎn)單的值,只要類型相同、值相等,它們就是全等,不考慮表達(dá)式運(yùn)算的過程變化,也不用考慮變量的引用地址。
var a = "1" + 1; var b = "11"; console.log(a ===b); //返回true
示例5
表達(dá)式(a>b || a==b)與表達(dá)式(a>=b)并不完全相等。
var a = 1; var b = 2; console.log((a > b || a == b) == (a >= b)); //返回true,此時(shí)似乎相等
如果為變量 a 和 b 分別賦值 null 和 undefined,則返回值 false,說明這兩個(gè)表達(dá)式并非完全等價(jià)。
var a = null; var b = undefined; console.log((a > b || a == b) == (a >= b)); //返回false,表達(dá)式的值并非相等
因?yàn)?null == undefined 等于 true,所以表達(dá)式(a > b || a == b)的返回值為 true,但是表達(dá)式 null >= undefined 的返回值為 false。
以上是“javascript中的恒等運(yùn)算符是哪個(gè)”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。