js中字符串比较直接使用==号
示例:
var a1="abc"//定义一个字符串a1var a2="bcd"//定义一个字符串a2
if(a1==a2){//比较两个字符串是否相等
alert("相等")
}
你用alter显示出来的是视觉效果, 如果第1个前面有空格, 第2个后面有空格, 你是很难分辨的.
除了空格外, 还要注意比较大小写问题.
你可以修改下你的alter如下,这样看的清楚点.
alert(`'${serverIds[i]}'***'${serverid_curr}'`)//就是在变量两边加个单引号, 方便识别首尾空格.
//这个是模板语法, 低版本ie或者qq等浏览器可能不支持. 如果报错用+号拼接就是
不过最好在chrome中进行单步调试.
在JavaScript中,字符串的比较,是字符按从左到右一一对应比较的。如:
"hello" >"hi"
先对首字母"h"进行比较。因为相等,所以再对下一位进行比较。
而单个字符的比较,实际上是ASCII码的比较。
字母"e"的ASCII码对应编号是101,而"i"的对应编号是105,所以 "e" >"i" 会返回false。
对上面字符串的比较,可以拆分理解为:
"h" >"h" &&
"e" >"i" &&
"l" >"" &&
"l" >"" &&
"o" >""
因此,
"hello" >"hi" // return false