溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

javascript中的恒等運(yùn)算符是哪個(gè)

發(fā)布時(shí)間:2022-02-16 09:55:46 來源:億速云 閱讀:153 作者:小新 欄目:web開發(fā)

這篇文章主要介紹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è)資訊頻道!

向AI問一下細(xì)節(jié)

免責(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)容。

AI