在JavaScript中,为什么我的“<”和“>”比较被逆转?

时间:2015-11-12 16:23:37

标签: javascript

当我通过chrome中的html页面运行此代码,并输入,例如,number1 = 1000而number2获得2000时,它的警报1000更大。为什么呢?

var number1 = prompt("Pick a number");
var number2 = prompt("Pick another number");

if (number1 < number2) {
    alert(number1 + "is bigger!");
} else if (number2 < number1) {
    alert(number2 + "is bigger!");
} else if (number1 == number2) {
    alert(number1 + "is equal to" + number2)
}

1 个答案:

答案 0 :(得分:1)

上面有两个问题:

  1. 您的邮件是落后的

  2. 您正在比较字符串,而不是数字

  3. 您希望将prompt的结果转换为数字,并更正您要显示的消息。

    您有几种将字符串转换为数字的选项;我列出了您的选项及其优缺点in this answer

    如果您只修复#1而不是#2,那么您最终会说"20"小于"3",因为将字符串与<进行比较会比较它们 lexigraphically "2"出现在"3"之前("0"中的"20"从未被查看过。)