Javascript比较不适用于2位整数

Javascript比较不适用于2位整数,javascript,type-conversion,Javascript,Type Conversion,我正在努力找到迄今为止输入的最大数字。此javascript对于一位数运行良好。但输入两位数时无法正常工作。最大值仍然是最大的一位数。 我想知道为什么会发生这种事。请帮帮我。提前准备好 <script type="text/javascript"> var counter = 0; var number ; var largest ; largest = 0; while(counter!=10) { number = window.prompt("Please

我正在努力找到迄今为止输入的最大数字。此javascript对于一位数运行良好。但输入两位数时无法正常工作。最大值仍然是最大的一位数。 我想知道为什么会发生这种事。请帮帮我。提前准备好

<script type="text/javascript">
var counter = 0;
var number ;
var largest  ;
largest = 0;



while(counter!=10)
{


    number = window.prompt("Please enter a number");


    if(number>largest)
    {

        largest = number;


    }
    document.write(number+"  "+largest+"</br>");
    counter++;

}

var计数器=0;
var数;
var最大;
最大值=0;
while(计数器!=10)
{
数字=窗口提示(“请输入数字”);
如果(数量>最大值)
{
最大=数量;
}
文件。写入(数字+“”+最大值+“”“
”; 计数器++; }

此代码将返回一个字符串。您需要使用
parseInt
将其转换为数字

试试这个:

number = parseInt(window.prompt("Please enter a number"));

只需对来自提示符的值使用parseInt。它将按预期工作


哈哈哈,同时回答同样的问题!:),你的包括基数,这是一个很好的做法+1,因此值得一试+1@Diego:嘿。。没问题,兄弟。对我来说,小提琴不起作用。我不能把插页发到邮局去工作(@mithunsatheesh但为什么比较用的是个位数??谢谢,我已经试过解析最大的变量了…这个变量也可以。请看@mithunsatheesh answer,parseInt的第二个参数表示基数。它是可选的,默认为10,但最好包含它。@Diego它是可选的,但您应该始终包含它这是因为在ES5之前的浏览器上,它会将前导0的数字视为八进制。即使在ES5上,它也会将前导
0x
的数字视为十六进制,而不是错误。@Diego:请参阅Array.prototype.map(),它有一个不使用基数的非常可怕的例子。@Alnitak感谢您的澄清,我认为在新浏览器上默认值是10。。。很高兴知道。
number = parseInt(window.prompt("Please enter a number"),10);