freecodecamp 之 阶乘

阶乘计算

如  5!=5*4*3*2*1=120

1.for循坏

function factorialize(num){
  let newNum=1;
  for( let i=1;i<=num;i++){
    newNum=i*newNum;
  }
  return newNum;
}
factorialize(0);

2.递归

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

3. arguments.callee 代替函数名  防止函数执行与函数名紧紧耦合的现象(匿名函数也可)

function factorialize(num) {
if(num<0){
   return -1;
}else if(num===0||num===1){
    return 1;
}else{
    return num * arguments.callee(num-1);  
}
}
factorialize(5);

猜你喜欢

转载自blog.csdn.net/qq_40642021/article/details/81183276
今日推荐