实现js阶乘个人总结的有三种方式

两种循环 , 还有一种是递归

递归方式:

function factorial(num) {
  if(num<0){
    return -1;
  }else if(num == 0 || num==1){
    return 1;
  }else{
    return num*factorialize(num-1);
  }
  return num;
}

for循环

function factorial (num) {
        if (num < 0) {
            return -1;
          } else if (num === 0 || num === 1) {
              return 1;
          } else {
              for (var i = num-1; i>=1; i--) {
                  num *= i;
              }
          }
            return num;
        };

while循环:

function factorial(num){
        var result=num;
        if(num<0){
          return -1;
        }else if(num==0||num==1){
          return 1;
        }else{
          while(num>1){
            num--;
            result*=num;
          }
        }
        return result;
      }