var a="23" < "3";
console.log(a); // true
console.log(isNaN(a)); // false
偶然遇到的,请帮忙解答,谢谢
var a="23" < "3";
console.log(a); // true
console.log(isNaN(a)); // false
偶然遇到的,请帮忙解答,谢谢
你需要首先弄懂字典序。
function strcmp (s1, s2) {
var len = Math.min(s1.length, s2.length);
for(var i = 0; i < len; i++) {
var c1 = s1.charCodeAt(i),
c2 = s2.charCodeAt(i);
if(c1 != c2) return c1 - c2;
}
return s1.length - s2.length;
}
strcmp ("23", "3") < 0;
// true
我来回答
var a="23" < "3"
相当于
var a=("23" < "3")
而字符串比较是按字符逐个比较,"2"
在ASCII中值比"3"
小,所以"23"
比"3"
小,所以结果为真(true)
8 回答4.6k 阅读✓ 已解决
6 回答3.3k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
4 回答2.7k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
https://developer.mozilla.org...
就是strcmp的规则吧....
两个字符串自左向右逐个字符相比(按ASCII值大小相比较),
2<3