-1
  var addition=function(num){
    var sumSoFar=0;  
    for(var i=1;i<=num;i++)
        {
         sumSoFar+=num[i];
         return sumSoFar;
         }
         };
        console.log(addition(5));

不久前我用一个while循环写了这个。它应该采用随机(num)并返回从1到(num)的所有数字的总和我只是不知道我在for循环中做错了什么

4

4 回答 4

1

在 for 循环中你返回他的总和,所以你只返回 1!

  var addition=function(num){
    var sumSoFar=0;  
    for(var i=1;i<=num;i++)
        {
         sumSoFar+=i;

         }
    return sumSoFar;
   };
   console.log(addition(5));

另外,如果您只需要从 1 到 n 的 i 的总和,请执行以下操作:

  var addition=function(num){
      return (1+num) * num / 2;
  };

并阅读算术级数

于 2013-09-08T19:28:50.307 回答
0

您已经return在循环中间放置了一条语句。这将导致函数在第一次通过那里时返回。

如果num是一个数字,那么num[i]没有任何意义。您只需要添加i.

于 2013-09-08T19:29:27.237 回答
0

你想这样做吗:

var addition=function(num){
var sumSoFar=0;  
for(var i=1;i<=num;i++)
    {
     sumSoFar+=i;//will add the loop varible to get sum

     }
     return sumSoFar;//also function can return a value only once and not in a loop
     };
于 2013-09-08T19:31:52.130 回答
0

您的回报在 for 循环内 - 它应该在外面。

于 2013-09-08T19:29:07.787 回答