Posted in Javascript onDecember 31, 2014
与==操作符一样,比较操作符(>、<、>=、<=)可以将对象转换成string或者number后再进行比较 -- 对于number,比较值的大小;对于string,则比较字符在编码表中出现的次序。与==操作符不一样的是,==会将Date对象优先转换成string后再加以比较,而比较操作符则会对包括Date在内的所有对象优先转换成number后再加以比较。其比较判断的规则如下:
1.操作符两边如果有对象,将其转换成number;如果无法转换成number,则将其转换成string。
2.经过转换后,如果操作符两边均为string,则进行字符串比较;否则,只要有一边出现number,则进行数值比较。
3.如果操作符两边出现NaN,返回false。
4.0与-0相等。
实验
//In comparison, Date object is converted to number var d = new Date(); var s1 = "Thu Mar 27 2008 14:57:11 GMT+0800 (CST)"; var s2 = "Thu Mar 27 2099 14:57:11 GMT+0800 (CST)"; var n1 = d.valueOf() - 1000; var n2 = d.valueOf() + 1000; console.log(d > s1);//false, d is converted to number, and that number is further converted to string. It is a string comparison here. console.log(d > s2);//false console.log(d > n1);//true console.log(d > n2);//false console.log("11" > 3);//true
JavaScript中的比较操作符>、=、
- Author -
junjie声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@