在比较JavaScript中的字符串时,为什么一个字符串比另一个字符串大?

pat*_*ot7 45 javascript string compare

我从一本书中看到了这段代码:

var a = "one";
var b = "four";
a>b; // will return true
Run Code Online (Sandbox Code Playgroud)

但它没有提到为什么"一个"大于"四个".我试过c = "a",它比a和b小.我想知道JavaScript如何比较这些字符串.

Mat*_*all 43

因为,在许多编程语言中,字符串按字典顺序进行比较.

你可以认为这是一个空想家版本的字母顺序,区别在于字母排序仅覆盖了26个字符a通过z.


这个答案是对问题的回应,但逻辑完全相同.另一个好的:字符串比较"逻辑".

  • 解释字符"值"的最佳解释是将用户指向表示每个字符的十进制值的ASCII表. (5认同)
  • 如有疑问,请详细说明.在这种情况下,请参见[ECMAScript规范]的第11.8.5节(http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf).当然,为了更容易解析答案,SO档案也有效.:-) (4认同)

Pau*_*aul 11

"一个"以"o"开头,"四个"以"f"开头,"o"在字母表中的后面比"f"更长,因此"一个"大于"四".有关JavaScript字符串比较的一些很好的示例,请参阅此页面(有解释!).