阶乘计算
如 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);