js中的字符串可以比较大小吗?如果可以请问他是如何比较的

JavaScript026

js中的字符串可以比较大小吗?如果可以请问他是如何比较的,第1张

js的字符串按字符在unicode中的码位来比较大小

"A"的码位值65

"a" 的码位值97

"b"的码位值为98

"你"的码位值为20320

后者比前者大

在JavaScript中,字符串的比较,是字符按从左到右一一对应比较的。

如:

"hello" >"hi"

先对首字母"h"进行比较。因为相等,所以再对下一位进行比较。

而单个字符的比较,实际上是ASCII码的比较。

字母"e"的ASCII码对应编号是101,而"i"的对应编号是105,所以 "e" >"i" 会返回false。

对上面字符串的比较,可以拆分理解为:

"h" >"h" &&

"e" >"i" &&

"l" >"" &&

"l" >"" &&

"o" >""

因此,

"hello" >"hi" // return false

最精确的比较方式应该是,知道字符串对应的时间的格式,然后将字符串转化成date型进行比较。

var time1 = new Date(d1.replace("-", "/").replace("-", "/"))

var time2 = new Date(d2.replace("-", "/").replace("-", "/"))

if(time1 >time2)alert("time1 大于 time2")

date1=new Date('12-11-2000')

date2=new Date('12-12-2000')

alert("日期差值为:"+(date2-date1))

var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ("-"))

var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ("-")+1)

var OneYear = DateOne.substring(0,DateOne.indexOf ("-"))

var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ("-"))

var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ("-")+1)

var TwoYear = DateTwo.substring(0,DateTwo.indexOf ("-"))

(Date.parse(OneMonth+"/"+OneDay+"/"+OneYear) >

Date.parse(TwoMonth+"/"+TwoDay+"/"+TwoYear))