Как и оператор ==, оператор сравнения (>, <,> =, <=) может преобразовать объекты в строку или число перед сравнением - для числа, сравните размер значения; Для строки сравните порядок, в котором символы появляются в таблице кодирования. В отличие от оператора ==, == преобразует объект даты в строку, а затем сравнит его, в то время как оператор сравнения будет преобразовать все объекты, включая дату в число, а затем сравнит его. Правила для сравнительного суждения следующие:
1. Если есть объекты с обеих сторон оператора, преобразуйте их в номер; Если они не могут быть преобразованы в число, преобразуйте их в строку.
2. После преобразования, если обе стороны оператора являются строковыми, выполняется сравнение строк; В противном случае, если число появляется с одной стороны, проводятся числовое сравнение.
3. Если NAN появляется с обеих сторон оператора, верните ложь.
4.0 равен -0.
эксперимент
Кода -копия выглядит следующим образом:
// По сравнению с объектом даты преобразуется в число
var d = new Date ();
var S1 = "Чт 27 марта 2008 г. 14:57:11 GMT+0800 (CST)";
var s2 = "Чт 27 марта 2099 г. 14:57:11 GMT+0800 (CST)";
var n1 = d.valueof () - 1000;
var n2 = d.valueof () + 1000;
console.log (d> s1); // false, d преобразуется в число, и это число дополнительно преобразуется в строку. Это сравнение строк здесь.
Console.log (d> s2); // false
console.log (d> n1); // true
Console.log (d> n2); // false
console.log ("11"> 3); // true