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

JavaScript016

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

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

"A"的码位值65

"a" 的码位值97

"b"的码位值为98

"你"的码位值为20320

后者比前者大

最精确的比较方式应该是,知道字符串对应的时间的格式,然后将字符串转化成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))

1、[] ==[] 因为数组是引用类型的,两个数组的引用不可能相等,所以值为false 2、'0.00' == 0 数字型字符串与纯数字之间的比较,js会将字符串转换成数字再作比较,转换后的结果是 0.00 == 0 ,所以值为false。 3、'0'<1 同上,字符串转换成数字 0 <1 ,所以值为false 4、'abc' == 0 这里的字符串'abc'不是数字型字符串,无法转换成数字,将这种类型的字符串与数字做比较时,会先转换成NaN,所以值为false 5、'11'<'2' 两个数字型字符串之间的比较,进行这种比较时会依次取每个字符转换成ASCII码进行比较,因为'1'的ASCII码小于'2',后面就不用再往下进行比较了。 6、1 == true'1' == true'2' == true1为true,0为false 这是众所周知的,所以1 == true的值为true。 在js中,字符串和布尔值进行比较的时候,会把布尔值转化成数字类型。所以'1' == true的比较会转换成'1' == 1,值也是为true的。'2' == true的比较会转换成'2' == 1,值必然为false。 但是,!!'2' == true 返回的是true,因为用两个非符号 !! 可以把非空字符串转换成true。 7、== 与 ===的区别 在js中,==表示相等(值相等),===表示恒等(值和类型都要相等)。在用==比较时如果被比较的两者类型不同,会先做类型转换再判断值得大小,如果是===类型和值必须都相等。