字符串中的数字比较' 1000'给出奇怪的结果

时间:2014-06-21 20:18:01

标签: javascript numbers

我之前正在比较iframe中的属性值,并且在使用parseInt()之前有兴趣发现字符串 over 1000中的数字在&#中测试时被证明对于小于自身的数字是错误的34;大于"比较:

'1000' > '900' // false
'901' > '900' // true

这是为什么?当然,使用parseInt就好了:

1000 > 900 // true
901 > 900 // true

2 个答案:

答案 0 :(得分:2)

字符串按字母顺序排列,1表示字母表中的字符串。

答案 1 :(得分:1)

这是因为,这里发生了性格比较。这是基于charater的ASCII代码(http://www.asciitable.com/

发生的

正如您在链接上看到的那样 - ASCII代码为1(49或0x30)&lt; ASCII码为9(57或0x39)。因此'1000' < '900'

这就是原因:"abc" < "xyz"