回答
如果a包含数字的字符串表示形式,JavaScript会将其隐式转换为数字并执行比较。
否则,它将返回false。
例如:
var a = 'foo';
(a < 5) // will be false
(a > 5) // will be false
a = '10';
(a < 5) // will be false
(a > 5) // will be true
如果a为null或未定义以及其他变体,请参阅ECMA规范中的JavaScript比较http://bclary.com/2004/11/07/#a-11.9.3 – RHT
即使字符串不代表数字,它也会被转换为数字,例如在你的'var a ='foo''片段中,字符串''foo''被转换为'NaN',并且如果其中一个操作数是'NaN','false'总是结果。 – CMS
不要忘记提及truthy vs true,如[我的答案](http://stackoverflow.com/questions/7883143/javascript-string-and-int/7883221#7883221)中所例举的。 – vol7ron
由于JavaScript(偶尔是扭曲的)类型转换规则,就好像它持有一个数字一样。
也就是说,代码依靠在那总是让我有点抽搐;国际海事组织它应手动转换为一个数字,因此它可以在更受控制的条件下进行理智检查。
var a = '5';
a < 5; // false
a > 5; // false
a == 5; // true
a === 5; // false <-- pay attention
var a = 5;
a < 5; // false
a > 5; // false
a == 5; // true
a === 5; // true <-- pay attention
var a = 'anythingelse';
a < 5; // false
a > 5; // false
a == 5; // false
a === 5; // false
- 1. 连接int和字符串
- 2. 读取字符串和INT
- 3. Javascript - 多维数组排序 - 字符串和Int - 订购Int
- 4. 试图解析int字符串的输入字符串int int
- 5. JavaScript从字符串解析int
- 6. 的JavaScript字符串转换成INT
- 7. javascript分割字符串到int数组
- 8. 字符串转换为INT的Javascript
- 9. JavaScript字符串为int阵列
- 10. 从javascript中的字符串解析Int
- 11. 列表和区分INT和字符串值的字符串值
- 12. INT []字符串C#
- 13. Linq int字符串
- 14. 添加一个字符串和int一个字符串
- 15. 的std :: stringstream的阅读int和字符串,字符串中的
- 16. 字符串int和再次字符串C++
- 17. 字符串到int转换和字符串操作MIPS
- 18. 从字符串中提取字符串和int
- 19. 从C++中的输入字符串中分隔字符串和int字符串
- 20. 将字符串转换为int,int转换为字符串
- 21. 字符串INT以字节
- 22. 字符串INT(数字)
- 23. 从字符串和int创建哈希
- 24. 限制T到字符串和int?
- 25. C++模板int和字符串
- 26. 在Java中混合字符串和int
- 27. 类型Int和字符串不兼容
- 28. 放入字符串int和文本
- 29. 熊猫:将字符串和int的列
- 30. 散列字符串和int在一起?
什么的'了' – vol7ron
ECMA规格为JavaScript比较值http://bclary.com/2004/11/07/#a-11.9.3 – RHT