相等運算符==與等同運算符===

相等運算符==與等同運算符===,均可以用於判斷數據是否相等,返回boolean類型的數據;==運算符作比較時,要求類型不必定相同,值經過數據類型轉換以後相等便可。===運算符作比較時,要求類型必須相同,並且值也必須相同。 對象

===運算符的條件: 字符串

一、若是運算數類型不相同,那麼不等同; string

二、若是運算數類型都是number,那麼比較兩個數值(任意一個爲NaN,那麼也不等同)是否等同; 數據類型

三、若是運算數類型都是boolean,那麼兩個運算數都爲true或false時就等同; 引用

四、若是運算數類型都是對象類型時,那麼兩個運算數必須引用到同一個對象時纔等同,即便引用的兩個對象的屬性徹底相同,也不能斷定爲等同; 方法

五、運算數null只能null等同; 數據

六、運算數undefined只能與undefined等同; 類型轉換

==運算符的條件: co

一、若是運算數類型相同,那麼按===運算符進行比較; 字符

二、若是一個運算數是number,另外一個是boolean類型,那麼把boolean轉換成0或1,再判斷number是否相等;

三、若是一個運算數是NaN,那麼結果必定不相等;

四、null、undefined、""、0、false相等;

五、一、true相等;

六、非空字符串、true相等;

七、若是一個運算數是number,另外一個是string類型,那麼先把string轉換爲number,再作number之間的判斷;

八、如查一個運算數是對象,另外一個是number或string類型,那麼把對象轉換爲基本類型,再作比較。對象轉換爲基本類型時,通常先調用對象的valueOf方法,以返回一個基本類型的數據。若是valueOf方法沒能返回一個基本類型的數據,那麼再調用toString方法,返回一個字符串,再判斷相等。但不同凡響的是Date對象,它是先調用toString方法返回字符串,再判斷相等。

進行相等性轉換的規則是運算數都儘可能向number類型轉換;

"1" == true;

這個表達式的執行過程是,先把字符串"1"轉換爲數值1,再把boolean值true轉換爲數值1,再判斷相等性。

相關文章
相關標籤/搜索