【书名】《JavaScript权威指南》第七版
【笔记】JavaScript字符串是16位整数值的序列,而字符串比较就是比较两个字符串的数值序列。Unicode定义的这个数值编码顺序不一定与特定语言或地区使用的传统校正顺序(collation order)匹配。特别要注意字符串比较是区分大小写的,而所有大写ASCII字母比所有小写ASCII字母都小。如果不留意,这条规则很可能导致令人不解的结果。
如果需要更可靠的字符串比较算法,可以用String.localeCompare()方法,这个方法也会考虑特定地区的字母表顺序。要执行不区分大小写的比较,可以使用String.toLowerCase()或String.toUpperCase()把字符串转换为全小写或全大写。
+操作符和比较操作符同样都会对数值和字符串操作数区别对待。+偏向字符串,即只要有一个操作数是字符串,它就会执行拼接操作。而比较操作符偏向数值,只有两个操作数均为字符串时才按字符串处理。
展开
评论