日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

JS中==和===區別

簡單來說: == 代表相同, ===代表嚴格相同(數據類型和值都相等)

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

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

操作數1 == 操作數2, 操作數1 === 操作數2

【比較過程】:

雙等號==:

(1)如果兩個值類型相同,再進行三個等號(===)的比較;

(2)如果兩個值類型不同,也有可能相等,需根據以下規則進行類型轉換在比較:

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

JS中==和===區別

 


JS中==和===區別

 


JS中==和===區別

 

2)如果一個是字符串,一個是數值,把字符串轉換成數值之后再進行比較;

JS中==和===區別

 

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

JS中==和===區別

 


JS中==和===區別

 


JS中==和===區別

 

三等號===:

JS中==和===區別

 

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

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

JS中==和===區別

 

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

JS中==和===區別

 


JS中==和===區別

 

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

JS中==和===區別

 

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

JS中==和===區別

 


JS中==和===區別

 

這點,跟JAVA中==和equals的區別類似。

【總結一下】:

【1】比較原理:==(雙等號)會先判斷類型,類型不同絕不相等,如果不同,會進行一次類型轉換。===(三等號)如果類型不同,不再進行下一步操作。故如果是進行同類型值比較進行邏輯條件是否成立的判斷,直接使用===(三等號)比較效率高!不需要進行類型轉換。

【2】undefined和null:同為undefined或null,不管怎么比都為true,一個為null,一個為undefined,==(雙等號)比較為true,===(三等號)比較為false。

【3】整數與boolean比較,1和true用==比較為true,0和false用==號比較為true,其它為false。

【4】字符串和整數進行比較,如果字符串轉換為整數和的值和整數相等,使用==比較為true,使用===比較為false。

【5】字符串和字符串比較,每個位置都一樣,使用==和===比較都返回true。

簡言之,使用===比較不僅要類型相同還要值相等,跟Java中的equals類。

分享到:
標簽:JS
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定