js中如何比较字符串

JavaScript035

js中如何比较字符串,第1张

js中字符串比较直接使用==号

示例:

var a1="abc"//定义一个字符串a1

var a2="bcd"//定义一个字符串a2

if(a1==a2){//比较两个字符串是否相等

   alert("相等")

}

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

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

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

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

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

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

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

js里面比较中文字符串实际是比较中文字符串的unicode编码值!

第一个汉字的unicode编码是:19968表示汉字“一”;

最后一个汉字的unicode编码是:40869标识汉字“龥”(yu,四声);

开始和结束之间的unicode代码区间是计算机能打出来的所有汉字。

比较的话可以直接用运算符比较,例如:

var a="一"

var b="龥"

a>b //false

a<b //true

a==b //false

a===b //false

//但是不能用“-”号,用“-”号js会尝试强转a变量的值为number,如果不能转成功会显示NaN,

//NaN <a href="https://www.baidu.com/s?wd=%E5%8A%A0%E5%87%8F%E4%B9%98%E9%99%A4&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9nH6zuWT4mH6YuWfsnAm10ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHRLP1nYP1TsPWfLPjbdP10zn0" target="_blank" class="baidu-highlight">加减乘除</a>结果都是NaN

//用“+”,js会优先执行拼接字符得到

a+b // "一龥"

实际计算机内部执行比较是有类似如下操作的:

var a="一"

var b="龥"

a.charCodeAt(0)>b.charCodeAt(0) // false