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