Javascript 10+;1000韩元';t返回正确的数字

Javascript 10+;1000韩元';t返回正确的数字,javascript,jquery,html,Javascript,Jquery,Html,我有一个简单的脚本,要求用户输入数字。每个数字都被添加到一个名为counter的变量中。只要counter

我有一个简单的脚本,要求用户输入数字。每个数字都被添加到一个名为counter的变量中。只要counter<100,我就希望发生这种情况 之后,我想向用户显示他输入的数字和结果。 问题是,如果用户按10,第二次按1000,他将返回01000 有什么想法吗

 <!DOCTYPE html>
<html>
<head>
    <title>Δομημένος προγραμματισμός</title>
    <meta charset="utf-8"/>
    <!--<link rel="stylesheet" type="text/css" href="http://kounj.web44.net/css/apps/borderRadius.css">-->
    <style type="text/css">



button, .button {
    border: 0px;
    padding: 15px;
    font-size: 18px;
    color: green;
    font-style: italic;
    font-family: sans-serif;
    border-radius: 6px;
    border-left:4px dashed #f22aa9;
    background-color: #ddd;
    margin: 0;
    display: inline-block;
 }
 .button{
    display: block;
    width: 20%;
 }

    </style>
    <script type="text/javascript">



function wh(){
    var i=0;
    var counter=0;
    while(counter < 100){

        i++;
        var number=prompt("Give me  num");
        counter=counter +number;


    }
    alert(i);
    alert(counter);
}


    </script>
</head>
<body>

<div class="button" onclick="wh();">counter</div>
</body>
</html>

Δομημένος προγραμματισμός
按钮,。按钮{
边界:0px;
填充:15px;
字号:18px;
颜色:绿色;
字体:斜体;
字体系列:无衬线;
边界半径:6px;
左边框:4px虚线#f22aa9;
背景色:#ddd;
保证金:0;
显示:内联块;
}
.按钮{
显示:块;
宽度:20%;
}
函数wh(){
var i=0;
var计数器=0;
同时(计数器<100){
i++;
变量编号=提示(“给我编号”);
计数器=计数器+数字;
}
警报(一);
警报(计数器);
}
柜台

您正在连接字符串。提示中输入的任何数据都被视为字符串。在添加之前,需要使用
parseInt()
将其转换为整数,以获得正确的整数数学

function wh(){
    var i = 0;
    var counter = 0;
    while(counter < 100){
        i++;
        var input = prompt("Give me  num");
        var number = parseInt(input, 10);
        counter = counter + number;
    }
    alert(i);
    alert(counter);
}
函数wh(){
var i=0;
var计数器=0;
同时(计数器<100){
i++;
变量输入=提示(“给我数值”);
变量编号=parseInt(输入,10);
计数器=计数器+数字;
}
警报(一);
警报(计数器);
}

函数的
prompt()
返回字符串,而不是数字。在使用不熟悉的方法之前,阅读以下命令非常有用:“
result
是一个字符串,包含用户输入的文本,或值null。”@FelixKling+1您是对的,请注意parseInt也可以采用显式基数,以便
parseInt(值,10)
是显式的base10解释,如果用户用
parseInt(val,2)
键入“10”,则为十进制2(方便)@Mike'Pomax'Kamermans是,应使用显式的基数值。我在第一次提交时匆忙省略了,但已修改。