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

JavaScript013

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

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

"A"的码位值65

"a" 的码位值97

"b"的码位值为98

"你"的码位值为20320

后者比前者大

字符串的比较,是对两字符串相同位置字符的Unicode编码逐一比较。比如上面的字符串time1和time2,前面的几个字符都是相同的,当在"02"与"01"中"2"和"1"开始不同,由于"2"的Unicode编码为50,而"1"的Unicode编码值为49,所以time1比time2要大。

至于如何取得字符串某个字符的Unicode值,可以使用函数charCodeAt(index),比如获得time1的第7个字符的Unicode值:time1.charCodeAt(6)

注:索引值index由0开始而不是1开始哦,所以字符串第7个字符的索引为6

你用alter显示出来的是视觉效果, 如果第1个前面有空格, 第2个后面有空格, 你是很难分辨的.

除了空格外, 还要注意比较大小写问题.

你可以修改下你的alter如下,这样看的清楚点.

alert(`'${serverIds[i]}'***'${serverid_curr}'`)

//就是在变量两边加个单引号, 方便识别首尾空格.

//这个是模板语法, 低版本ie或者qq等浏览器可能不支持. 如果报错用+号拼接就是

不过最好在chrome中进行单步调试.