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



















