如何获得 JavaScript 中数字的阶乘?

How to get Factorial of number in JavaScript?

我正在学习 Java 脚本,并且有一个关于获取用户输入的数字的阶乘的练习,但出于某种原因我总是得到答案 = 1

这是我的代码:

<SCRIPT>
function factorial(num){

    for (n=1; n<=num; n++){

    return fact*n;
    }
}

var myNum, fact;

myNum = parseFloat(window.prompt('Enter positive integer : ',''));
fact = 1;
document.write('the factorial of the number is = '+ factorial(myNum));



</SCRIPT>

图片代码(以后请包含实际代码,不是代码截图)returns fact立即:

for ( n = 1; n <= num; n++ ) {
  return fact * n;
}

因为 n1 开始。

想要的是将fact包含在函数中,并在循环进行时将其相乘,然后 return:

function factorial(n) {
  var fact = 1;

  for ( n = 2; n <= num; n++ ) {
    fact = fact * n;
  }

  return fact;
}

这是 returning 1 的原因是因为在上面的循环中,您 return 第一次迭代的值,所以 n 永远不会大于 1。