==轉(zhuǎn)型規(guī)則和!!、if的轉(zhuǎn)型規(guī)則
1、==,其實轉(zhuǎn)為數(shù)字,其實。基本類型使用Number()轉(zhuǎn),如果一個操作值是對象,另一個不是,則調(diào)用對象的valueOf()方法,得到的結(jié)果按照前面的Number()規(guī)則進行比較
2、 !!和if轉(zhuǎn),都是轉(zhuǎn)為布爾,對象和function轉(zhuǎn)布爾都是true;字符串轉(zhuǎn)布爾,空字符串是false,其他是true;1和-1都是true,0是false;Undefined 轉(zhuǎn)化為false;Null 轉(zhuǎn)化為false;
三、關(guān)系操作符(<, >, <=, >=)?
6、 關(guān)系操作符(<, >, <=, >=)
與上述操作符一樣,關(guān)系操作符的操作值也可以是任意類型的,所以使用非數(shù)值類型參與比較時也需要系統(tǒng)進行隱式類型轉(zhuǎn)換:
(1)如果兩個操作值都是數(shù)值,則進行數(shù)值比較
(2)如果兩個操作值都是字符串,則比較字符串對應(yīng)的字符編碼值
(3)如果只有一個操作值是數(shù)值,則將另一個操作值轉(zhuǎn)換為數(shù)值,進行數(shù)值比較
(4)如果一個操作數(shù)是對象,則調(diào)用valueOf()方法(如果對象沒有valueOf()方法則調(diào)用toString()方法),得到的結(jié)果按照前面的規(guī)則執(zhí)行比較
(5)如果一個操作值是布爾值,則將其轉(zhuǎn)換為數(shù)值,再進行比較
注:NaN是非常特殊的值,它不和任何類型的值相等,包括它自己,同時它與任何類型的值比較大小時都返回false。
評論
圖片
表情



















