阶乘函数返回未定义

时间:2018-10-29 04:47:14

标签: javascript function loops

这是阶乘的简单代码,我已经编写了该函数,并通过循环给出正确的输出,但是最后,它返回undefined。我不知道为什么

function factorial(n){
    let value=1; 
    for(let i=1;i<=n;i++) {
        value = i*value; 
        console.log(value); 
    }  
}

3 个答案:

答案 0 :(得分:3)

由于您不从该函数返回任何内容,因此undefined是其工作的结果。 您需要显式返回值:

function factorial(n){
  let value=1;

  for(let i=1;i<=n;i++) {
    value = i*value; 
    console.log(value); 
  } 

  return value;
}

答案 1 :(得分:2)

您可以使用递归找到阶乘。这是实现。

size()

答案 2 :(得分:0)

这是一个很好的实现:

const factorial = n => n > 1 ? n * factorial(--n) : 1;

您的函数没有return,因此它返回undefined;