【发布时间】:2014-11-22 00:20:55
【问题描述】:
为什么 javascript 中的字符串会发生这种情况?
3<=255
true
但是
'3'<='255'
false
是跟操作符的关系还是字符串的使用?
【问题讨论】:
标签: javascript string numbers operators
为什么 javascript 中的字符串会发生这种情况?
3<=255
true
但是
'3'<='255'
false
是跟操作符的关系还是字符串的使用?
【问题讨论】:
标签: javascript string numbers operators
我猜这是因为它比较了字符的 ascii 值,而 3 的 ascii 值大于 2。在字符串中,如果 1 char 为假,它会逐个字符比较 char,否则不会比较
【讨论】:
在第一种情况下,您正在比较 2 个数字,在第二种情况下,您正在比较 2 个字符串。所以它们是不同的类型,因此会产生不同的结果。
【讨论】:
两者都有。
当对数字进行比较时,数字的值决定结果。
当对字符串进行比较时,字符串的排序顺序决定了结果。
字符串'255' 被认为小于字符串'3',因为它会在排序列表中排在它之前。
【讨论】:
'%' < '&'