中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ECMAScript中的等性運算符有什么用

發布時間:2021-12-03 11:35:06 來源:億速云 閱讀:143 作者:小新 欄目:開發技術

這篇文章主要介紹了ECMAScript中的等性運算符有什么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

等性運算符一般用在判斷兩個變量是否相等的運算。在處理原始值時,這種運算相當簡單,涉及對象,任務就稍有點復雜。

性運算符分:

1、等號和非等號用于處理原始值

2、全等號和非全等號用于處理對象

一、等號和非等號(比較值)
在 ECMAScript 中,

1、等號由雙等號(==)表示,當且僅當兩個運算數相等時,它返回 true。

2、非等號由感嘆號加等號(!=)表示,當且僅當兩個運算數不相等時,它返回 true。為確定兩個運算數是否相等,這兩個運算符都會進行類型轉換。

執行類型轉換的規則如下:

1、如果一個運算數是 Boolean 值,在檢查相等性之前,把它轉換成數字值。false 轉換成 0,true 為 1

2、如果一個運算數是字符串,另一個是數字,在檢查相等性之前,要嘗試把字符串轉換成數字

3、如果一個運算數是對象,另一個是字符串,在檢查相等性之前,要嘗試把對象轉換成字符串

4、如果一個運算數是對象,另一個是數字,在檢查相等性之前,要嘗試把對象轉換成數字

來點栗子說事兒:

一、如果一個運算數是 Boolean 值,在檢查相等性之前,把它轉換成數字值。false 轉換成 0,true 為 1

console.log(false == 0);//true
console.log(true == 1);//true
console.log(false == 1);//false
console.log(true == 0);//false
console.log(false != 0);//false
console.log(true != 1);//false
console.log(false != 1);//true
console.log(true != 0);//true

二、如果一個運算數是字符串,另一個是數字,在檢查相等性之前,要嘗試把字符串轉換成數字

console.log("12" == 12);//true
console.log("12" != 12);//false

三、如果一個運算數是對象,另一個是字符串,在檢查相等性之前,要嘗試把對象轉換成字符串

var obj = ['a']
var str = "a"
console.log(obj.toString());//a -> 轉換為字符串之后變成a
console.log(obj == str);//true
console.log(obj != str);//fasle

四、如果一個運算數是對象,另一個是數字,在檢查相等性之前,要嘗試把對象轉換成數字

var obj = ['12']
var Num = 12;
console.log(Number(obj));//12 -> 轉換為數字之后變成12
console.log(obj == Num);//true

在比較時,該運算符還遵守下列規則:

1、值 null 和 undefined 相等

2、在檢查相等性時,不能把 null 和 undefined 轉換成其他值

3、如果某個運算數是 NaN,等號將返回 false,非等號將返回 true

4、如果兩個運算數都是對象,那么比較的是它們的引用值。如果兩個運算數指向同一對象,那么等號返回 true,否則兩個運算數不等

我們的好朋友,栗子同志來了:

一、值 null 和 undefined 相等

var a = '';
console.log(a.innerHTML);//undefined
console.log(null == a.innerHTML);//true
console.log(null != a.innerHTML);//fasle

二、在檢查相等性時,不能把 null 和 undefined 轉換成其他值

這個就理解字面意思就行了,我不知道怎么給你們找例子了,CGL對不起大家了。

三、如果某個運算數是 NaN,等號將返回 false,非等號將返回 true

console.log(NaN == null);//false
console.log(NaN == undefined);//false
console.log(NaN == NaN);//false
console.log(NaN == 0);//false
console.log(NaN != 0);//true

四、如果兩個運算數都是對象,那么比較的是它們的引用值。如果兩個運算數指向同一對象,那么等號返回 true,否則兩個運算數不等

例子有點不切當,大家將就看看吧,大概意思是這樣的。

var fn1 = function(){console.log('我是fn1')};
var fn2 = fn1
var fn3 = function(){fn1()}function(){   //跟單:www.gendan5.com

fn1()
fn2()
fn3()
console.log(fn1 == fn2);
console.log(fn2 == fn3);

var fn4 = [1,2,3];
var fn5 = [1,2,3];
console.log(fn4 == fn5);

二、全等號和非全等號(比較值和類型)
等號和非等號的同類運算符是全等號和非全等號。這兩個運算符所做的與等號和非等號相同,只是它們在檢查相等性前,不執行類型轉換。

1、全等號由三個等號表示(===),只有在無需類型轉換運算數就相等的情況下,才返回 true。

2、非全等號由感嘆號加兩個等號(!==)表示,只有在無需類型轉換運算數不相等的情況下,才返回 true。

var num1 = 30;
var num2 = 30;
var str = "30";

console.log(num1 === num2);//true -> 值一樣,類型都是數字
console.log(num1 === str);//false -> 值一樣,類型是數字和字符串
console.log(NaN === NaN);//false -> 直接false,硬記
console.log(num1 != str);//false -> 類型不一樣,但是值一樣
console.log(NaN != NaN);//true -> 直接true,硬記
console.log(NaN !== NaN);//true -> 直接true,硬記
console.log(num1 !== num2);//false -> 值和類型都一樣

感謝你能夠認真閱讀完這篇文章,希望小編分享的“ECMAScript中的等性運算符有什么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安宁市| 凌云县| 沽源县| 万源市| 茂名市| 丰顺县| 长兴县| 尚义县| 黔江区| 连江县| 都安| 大邑县| 岳西县| 门源| 昭苏县| 攀枝花市| 延吉市| 砚山县| 塔河县| 邛崃市| 莎车县| 贵溪市| 彭山县| 宜君县| 盐池县| 陕西省| 夏河县| 岳普湖县| 海门市| 宜阳县| 固镇县| 泰兴市| 双城市| 和田县| 商城县| 京山县| 大余县| 灵寿县| 皋兰县| 保山市| 萝北县|