Comme l'opérateur ==, l'opérateur de comparaison (>, <,> =, <=) peut convertir des objets en chaîne ou nombre avant de comparer - pour le nombre, comparer la taille de la valeur; Pour la chaîne, comparez l'ordre dans lequel les caractères apparaissent dans la table de codage. Contrairement à l'opérateur ==, == convertira l'objet date en chaîne, puis le comparera, tandis que l'opérateur de comparaison convertira tous les objets, y compris la date en nombre, puis le comparera. Les règles de jugement comparatif sont les suivantes:
1. S'il y a des objets des deux côtés de l'opérateur, convertissez-les en nombre; S'ils ne peuvent pas être convertis en nombre, convertissez-les en chaîne.
2. Après la conversion, si les deux côtés de l'opérateur sont des chaînes, la comparaison de chaîne est effectuée; Sinon, tant qu'un nombre apparaît d'un côté, une comparaison numérique est effectuée.
3. Si Nan apparaît des deux côtés de l'opérateur, revenez faux.
4.0 est égal à -0.
expérience
La copie de code est la suivante:
// En comparaison, l'objet date est converti en numéro
var d = new Date ();
var S1 = "Thu 27 mars 2008 14:57:11 GMT + 0800 (CST)";
var s2 = "jeu 27 mars 2099 14:57:11 GMT + 0800 (CST)";
var n1 = d.valueof () - 1000;
var n2 = d.valueof () + 1000;
console.log (d> s1); // false, d est converti en nombre, et ce nombre est en outre converti en chaîne. C'est une comparaison de cordes ici.
console.log (d> s2); // false
console.log (d> n1); // vrai
console.log (d> n2); // false
console.log ("11"> 3); // true