= 是賦值運(yùn)算,== 用于一般比較,=== 用于嚴(yán)格比較
== 在比較的時(shí)候可以轉(zhuǎn)換數(shù)據(jù)類型;
=== 嚴(yán)格比較,只要類型不匹配就返回flase。
舉例說明:
"1" == true
類型不同,"=="將先做類型轉(zhuǎn)換,把true轉(zhuǎn)換為1,即為 "1" == 1;
此時(shí),類型仍不同,繼續(xù)進(jìn)行類型轉(zhuǎn)換,把"1"轉(zhuǎn)換為1,即為 1 == 1;
此時(shí),"==" 左右兩邊的類型都為數(shù)值型,比較成功!
如果比較:"1" === true 左側(cè)為字符型,右側(cè)為bool布爾型,左右兩側(cè)類型不同,結(jié)果為false;
如果比較:"1" === 1 左側(cè)為字符型,右側(cè)為int數(shù)值型,左右兩側(cè)類型不同,結(jié)果為false;
如果比較: 1 === 1 左側(cè)為int數(shù)值型,右側(cè)為int數(shù)值型,左右兩側(cè)類型相同,數(shù)值大小也相同,結(jié)果為true;
如果比較: 1 === 2 左側(cè)為int數(shù)值型,右側(cè)為int數(shù)值型,左右兩側(cè)類型相同,但數(shù)值大小不同,結(jié)果為false;
簡(jiǎn)而言之就是 "==" 只要求值相等; "===" 要求值和類型都相等
判定 === 運(yùn)算符比較的兩個(gè)值是否相等的判斷條件
如果兩個(gè)值的類型不同,它們就不相同。
如果兩個(gè)值都是字符串,而且在串中同一位置上的字符完全相同,那么它們就完全等同。如果字符串的長(zhǎng)度或內(nèi)容不同,它們就不是等同的。
如果兩個(gè)值都是布爾型true,或者兩個(gè)值都是布爾型false,那么它們等同。
如果兩個(gè)值引用的是同一個(gè)對(duì)象、數(shù)組或函數(shù),那么它們完全等同。如果它們引用的是不同的對(duì)象(數(shù)組或函數(shù)),它們就不完全等同,即使這兩個(gè)對(duì)象具有完全相同的屬性,或兩個(gè)數(shù)組具有完全相同的元素。
如果兩個(gè)值都是null或都是undefined,它們完全相同。
小結(jié):如果兩個(gè)值具有相同的類型,那么就檢測(cè)它們的等同性。如果這兩個(gè)值完全相同,它們就相等。如果它們不完全相同,則它們不相等。
總結(jié)
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com