方法一:while循环 function factorial(num){ var result = 1; while(num){ result *= num; num --; } return result } 方法二:递归 function factorial(num){ if(num <=0){ return 1; }else{ return num*arguments.callee(num - 1); } }