This question already has answers here:
Why is one string greater than the other when comparing strings in JavaScript?
(4个答案)
5年前关闭。
显然,它不是根据长度来比较它们,而是通过编码来比较它们。但是,我不知道它是如何工作的。我需要一些解释:-)
如果我们使用字母,则由于
您可以将字符串显式转换为数字:
(4个答案)
5年前关闭。
if ('11' < '3') alert('true');
显然,它不是根据长度来比较它们,而是通过编码来比较它们。但是,我不知道它是如何工作的。我需要一些解释:-)
最佳答案
比较字符串lexicographicaly。即逐个字符,直到它们不相等或没有要比较的字符为止。 “11”的首字符小于“3”的首字符。
> '11' < '3'
true
> '31' < '3'
false
> '31' < '32'
true
> '31' < '30'
false
如果我们使用字母,则由于
b
不小于a
,因此abc
不小于aaa
,但是由于c
小于d
,因此abc
小于abd
。> 'abc' < 'aaa'
false
> 'abc' < 'abd'
true
您可以将字符串显式转换为数字:
> +'11' < '3'
false
关于javascript - 为什么字符串 “11”小于字符串 “3”? [复制],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10863092/