内部JavaScript如何比较?
alert(022 > "21"); // false
alert(22 > "21"); // true
alert("22" > "21"); // true
我正在阅读一篇文章here,看起来第一篇应该是true
。
答案 0 :(得分:2)
在JavaScript中,任何以0
开头的数字文字都被视为八进制数。所以
console.log(022);
# 18
这就是console.log(022 > "21");
评估为false
的原因。
如果您想知道如何比较这两个实体,请查看ECMA 5.1 standard specification for The Abstract Relational Comparison Algorithm
答案 1 :(得分:0)
检查字符串是否为整数与比较分开..