JavaScript循环卡住初学者

JavaScript Loop stuck beginner

本文关键字:初学者 循环 JavaScript      更新时间:2023-09-26

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

function sum(n) {
    var sumSoFar = 0;
    var currentNumber = 1;
    while (currentNumber <= n) {
        sumSoFar += currentNumber;
        currentNumber += 1;
    }
    return sumSoFar;
}

sumSoFar在函数开始时初始化为零,因为函数的其余部分使用+=操作符,该操作符取sumSoFar的当前值并为其添加一个值,然后将新值赋给sumSoFar。如果它没有初始化为0,那么它就没有初始值,并且对它的第一个+=操作将不会得到期望的结果。

将其初始化为0给出了期望的起始点,因此在第一次通过while循环时,它将currentNumber添加到初始值0上,并将其分配给sumSoFar,这是期望的行为。

仅供参考,您可以在这里看到您的函数工作:http://jsfiddle.net/jfriend00/kXrV8/和在最新版本中,您可以尝试不同的输入参数到您的sum(n)函数。

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