比較運算符的規則以下: 對象
一、若是兩邊都是數值,那麼就按數值類型進行比較。 字符串
二、若是兩邊都是字符串,那麼就按字符串的字典順序進行比較。 io
三、若是一邊是數值,另外一邊是字符串。那麼就把字符串轉換爲數值,再與另外一個數值進行比較。若是字符串在轉換爲數值的過程當中獲得NaN,那麼不管再與那一個數值比較,得以的結果都是false。function
"a" < 12; // false "a" > 12; // false "a" == 12; // false "12" > 10; // true
四、若是出現對象,那麼就嘗試先把對象轉換爲數值比較,若是不能轉換爲數值,那麼就轉換成字符串進行比較。test
var obj = {}; obj > 12; // false obj < 12; // false obj == 12; // false var date = new Date(); data > 12; // true
五、若是兩邊的運算數不能轉換爲數值或字符串,那麼結果必定爲false。date
var obj = {}; var test = function () {}; obj > test; // false obj < test; // false obj == test; // false
六、其中任意一個運算數爲NaN,那麼結果必定爲false。字典