在javascript中的for循环中添加sum

时间:2015-05-28 18:24:46

标签: javascript loops for-loop

我正在尝试在我的基础类中重新创建一个简单的项目到javascript(来自C ++)但是每次for循环运行时sum都不会添加。所有其他部分都可以,但总和只是按照我把它们放入的顺序列出数字。感谢任何帮助

var num = prompt("Please enter an integer");
var lrg = num;
var sml = num;
var avg = num;
var sum = num;
var cnt = 10;

function runMath () {

for (i = 1; i < 10; i++) {
    var num = prompt("Please enter an integer");

    if (num > lrg) {
        lrg = num;
    } else {
        lrg = lrg;
    }

    if (num < sml) {
        sml = num;
    } else {
        sml = sml;
    }

    sum += num;

}
}

runMath();

avg = sum/cnt;

2 个答案:

答案 0 :(得分:1)

问题是parseInt("33")返回一个String,而你期望一个数字。您可以通过几种不同的方式将其转换为数字:

33将返回"33",而不是+prompt("33")

同样,速记看起来像:

33将返回"33",而不是NOW() - INTERVAL 1 WEEK

答案 1 :(得分:0)

所有输入来自prompt()命令是一个字符串。您可以使用parseInt()将其转换为整数,但是用户可以输入除数字之外的其他内容,因此您需要检查它是否isNaN()(不是数字),并以不同方式处理它如果是的话。

var num = prompt("Please enter an integer");
num = parseInt(num, 10)
if (isNaN(num)) {
  alert ("That's not a number")
  num = 0 // or do something else
}

警告:typeof NaN将返回&#34;数字&#34;,因此您无法将其作为测试(请参阅NaN

++prompt的解释:Unary plus (+)