比较运算符的规则以下: 对象
一、若是两边都是数值,那么就按数值类型进行比较。 字符串
二、若是两边都是字符串,那么就按字符串的字典顺序进行比较。 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。字典