JS中的for循环仅返回第一个值? [英] For loop in JS only returns first value?

查看:1196
本文介绍了JS中的for循环仅返回第一个值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在JS中创建了一个循环来计算阶乘-但是,除了获得阶乘之外,我只是获得了for循环的第一个值.在下面的代码中,我的show(FirstFactorial(5))只得到1;

I've created a loop in JS to calculate factorials - however, instead of getting the factorial, I'm just only getting the first value of the for loop. In the code below, I'm just getting 1 for show(FirstFactorial(5));

这里有什么问题的想法吗??

Any ideas on what's wrong here...?

function FirstFactorial (num) { 
  var myVar=1;
  for(var i=1; i<=num; i++){
    myVar=myVar*i;
    return myVar;
}
};

show(FirstFactorial(5));

推荐答案

您的循环实际上是在它第一次到达return时返回的,之后再也不会运行.这就是return的工作方式,返回到调用它的位置.最好在循环完成后放回去运行.

Your loop actually returns when it first reaches the return and never runs after. This is how return works, returning back to where it was called. You would be better to place your return to run AFTER the loop has completed.

function FirstFactorial (num) { 
  var myVar=1;
  for(var i=1; i<=num; i++){
    myVar=myVar*i;
  }
  return myVar;
};

show(FirstFactorial(5));

这是结果的 JSFiddle .

这篇关于JS中的for循环仅返回第一个值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆