JavaScript循环卡住初学者

时间:2013-06-20 07:10:42

标签: javascript loops while-loop

我正在尝试一些循环,在这个特定的我不明白为什么sumSoFar = 0。 这是Learn Street.com的任务

function sum(n) {
    var sumSoFar = 0;
    var currentNumber = 1;

    while (currentNumber <= n) {
        sumSoFar += currentNumber;
        currentNumber += 1;
    }

    return sumSoFar;
}

2 个答案:

答案 0 :(得分:4)

sumSoFar在函数开始时被初始化为零,因为函数的其余部分使用+=运算符,该运算符获取当前值sumSoFar并为其添加一个值然后将新值分配回sumSoFar。如果它没有初始化为零,那么它将没有初始值,并且对它的第一个+=操作将没有所需的结果。

将其初始化为零会为其提供所需的起点,以便第一次通过while循环时,它会将currentNumber添加到零的初始值,并将其分配给sumSoFar,这是所需的行为

仅供参考,您可以在此处查看您的功能:http://jsfiddle.net/jfriend00/kXrV8/,在最新版本中,您可以尝试使用sum(n)功能的不同输入参数。

答案 1 :(得分:1)

如果您未将sumSoFar初始化为零,则无法为其添加值,因为它不是数字。