JS之相等操作符詳解
1.相等 == 和不相等 !=
先轉(zhuǎn)換操作數(shù)再比較相等性
在轉(zhuǎn)換不同的數(shù)據(jù)類型時,相等和不相等遵循以下規(guī)則:
1.1 如果有一個操作數(shù)是布爾值,則在比較相等性前先將其轉(zhuǎn)換為數(shù)值---false轉(zhuǎn)換為0,true轉(zhuǎn)換為1;
1.2 如果一個操作數(shù)是字符串,另一個操作數(shù)是數(shù)值,則在比較相等性前將字符串轉(zhuǎn)換為數(shù)值
1.3 如果一個操作數(shù)是對象昂,另一個不是,則調(diào)用對象的valueOf()方法,用得到的基本類型值按照前面的規(guī)則比較
1.4 null和undefined是相等的
1.5 在比較相等性之前,不能將null和undefined轉(zhuǎn)換為其他任何值
1.6 如果有一個操作符是NaN,則相等操作符返回false,不相等操作符返回true;即使兩個操作數(shù)都是NaN,也一樣
1.7 如果兩個操作數(shù)都是對象,則比較它們是否指向同一個對象
表達(dá)式 | 值 |
null == undefined | true |
"NaN" == NaN | false |
5 == NaN | false |
NaN == NaN | false |
NaN != NaN | true |
5 =="5" | true |
false == 0 | true |
true == 1 | true |
true == 2 | flase |
undefined == 0 | false |
null == 0 | false |
2.全等=== 和全不等 !==
兩個操作數(shù)在未經(jīng)轉(zhuǎn)換的情況下相等返回true,不相等返回false;
undefined == null;//true
undefined === null;// false
以上這篇JS之相等操作符詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
package.json與package-lock.json的區(qū)別及詳細(xì)解釋
不知道大家平時在開發(fā)中有沒有注意到,你的項目中有兩個文件:package.json,package-lock.json,應(yīng)該很多人平時都不會去關(guān)注這兩個文件有啥關(guān)系吧,這篇文章主要給大家介紹了關(guān)于package.json與package-lock.json的區(qū)別及詳細(xì)解釋,需要的朋友可以參考下2022-08-08瀏覽器解析js生成的html出現(xiàn)樣式問題的解決方法
接觸css, javascript有三年多了,今天遇到的問題最令我不可思議,很容易給人一種錯覺,那就是js拼成的html結(jié)構(gòu)肯定有問題2012-04-04詳解JavaScript如何實現(xiàn)異步并發(fā)任務(wù)控制器
實現(xiàn)一個控制并發(fā)數(shù)的任務(wù)隊列?、實現(xiàn)一個異步并發(fā)任務(wù)控制器,這已經(jīng)是非常經(jīng)典的手寫題目了,因為其中涉及?異步?和?并發(fā)?的內(nèi)容,所以本文就來講講到底如何實現(xiàn)呢2023-05-05JavaScript 全面解析各種瀏覽器網(wǎng)頁中的JS 執(zhí)行順序
近來我通過一些測試以全面的解析網(wǎng)頁在各種瀏覽器中的JavaScript代碼的執(zhí)行順序,在這兒做個記錄。2009-02-02