JavaScript中的比较操作符>、<、>=、<=介绍
与==操作符一样,比较操作符(>、<、>=、<=)可以将对象转换成string或者number后再进行比较--对于number,比较值的大小;对于string,则比较字符在编码表中出现的次序。与==操作符不一样的是,==会将Date对象优先转换成string后再加以比较,而比较操作符则会对包括Date在内的所有对象优先转换成number后再加以比较。其比较判断的规则如下:
1.操作符两边如果有对象,将其转换成number;如果无法转换成number,则将其转换成string。
2.经过转换后,如果操作符两边均为string,则进行字符串比较;否则,只要有一边出现number,则进行数值比较。
3.如果操作符两边出现NaN,返回false。
4.0与-0相等。
实验
//Incomparison,Dateobjectisconvertedtonumber vard=newDate(); vars1="ThuMar27200814:57:11GMT+0800(CST)"; vars2="ThuMar27209914:57:11GMT+0800(CST)"; varn1=d.valueOf()-1000; varn2=d.valueOf()+1000; console.log(d>s1);//false,disconvertedtonumber,andthatnumberisfurtherconvertedtostring.Itisastringcomparisonhere. console.log(d>s2);//false console.log(d>n1);//true console.log(d>n2);//false
console.log("11">3);//true