为什么" 11500" < " 7000"作为字符串是真的吗?
或者我是唯一一个在Chrome控制台评估时获得成功的人
我知道要得到正确答案我可以使用+" 11500" < +" 7000"
我只是想知道为什么它不像#" 5" < " 2"是错误的字符串得到解析但不是" 11500" < " 7000"
是否与二进制文件有关?
答案 0 :(得分:2)
因为在JavaScript中比较字符串lexicographically,"1"
小于"7"
(作为字符)。
+
运算符将字符串转换为数字,然后按预期进行比较。
答案 1 :(得分:0)
字符串逐字符地比较其字符
这里因为“11500”的字符大于“7000”
1(49为charcode)小于7(55为charcode)= true所以系列
您可以看到1和7的字符代码,如下所示
"1".charCodeAt() //49
"7".charCodeAt() //55
答案 2 :(得分:0)
" 11" < " 2" = true,因为字符' 1'在ASCII表中是49,ASCII表中的字符2是50,所以在上面的例子中,将比较第一个字母,如果它是等于,则下一个字母将相互比较,依此类推......