1,HTML source code: <html> <head> <title>How to use Comparator</title> </head> <body> <script src="jsjava.js"></script> <script> function DateComparator(){ this.compare=function(o1,o2){ if(!(o1 instanceof Date)||!(o2 instanceof Date)){ throw new IllegalArgumentException(IllegalArgumentException.ERROR,""); } var d1=o1.getTime(); var d2=o2.getTime(); if(d1>d2){ return 1; }else if(d1<d2){ return -1; }else{ return 0; } } } DateComparator.prototype=new Comparator(); DateComparator.prototype.constructor=DateComparator; var c=new DateComparator(); function sortDate(o1,o2){ return c.compare(o1,o2); } var dateArr=[new Date(2001,8,2),new Date(2001,8,1),new Date(2001,8,3)]; document.write("Before sort:<br>"); for(var i=0;i<dateArr.length;i++){ document.write(dateArr[i].toLocaleString()+"<br>"); } document.write("After sort:<br>"); dateArr.sort(sortDate); for(var i=0;i<dateArr.length;i++){ document.write(dateArr[i].toLocaleString()+"<br>"); } </script> </body> </html> 2,The display:

Before sort: 2001年9月2日 0:00:00 2001年9月1日 0:00:00 2001年9月3日 0:00:00 After sort: 2001年9月1日 0:00:00 2001年9月2日 0:00:00 2001年9月3日 0:00:00