Al igual que el operador ==, el operador de comparación (>, <,> =, <=) puede convertir objetos en cadena o número antes de comparar - Para el número, compare el tamaño del valor; Para la cadena, compare el orden en que aparecen los caracteres en la tabla de codificación. A diferencia del operador ==, == convertirá el objeto de fecha en cadena y luego lo comparará, mientras que el operador de comparación convertirá todos los objetos, incluida la fecha en el número y luego lo comparará. Las reglas para el juicio comparativo son las siguientes:
1. Si hay objetos en ambos lados del operador, conviértalos en número; Si no pueden convertirse en número, conviértalos en cadena.
2. Después de la conversión, si ambos lados del operador son de cadena, se realiza la comparación de cadenas; De lo contrario, siempre que aparezca un número en un lado, se realiza una comparación numérica.
3. Si NAN aparece en ambos lados del operador, devuelva falso.
4.0 es igual a -0.
experimento
La copia del código es la siguiente:
// En comparación, el objeto de fecha se convierte en número
var d = nueva fecha ();
var s1 = "thu 27 de marzo 2008 14:57:11 GMT+0800 (CST)";
var s2 = "thu 27 20 2099 14:57:11 GMT+0800 (CST)";
var n1 = d.ValueOf () - 1000;
var n2 = d.ValueOf () + 1000;
console.log (d> s1); // falso, D se convierte en número, y ese número se convierte aún más en cadena. Es una comparación de cadenas aquí.
console.log (d> s2); // falso
console.log (d> n1); // verdadero
console.log (d> n2); // falso
console.log ("11"> 3); // Verdadero