运用function实现阶乘 以往的做法是如下的
function factorial(num){
if(num <= 1){
return 1;
}else{
return num * factorial(num - 1);
}
}
但是如果一旦函数名改变 函数内部的递归调用行数也要进行改变 重用性很不好所以可以使用function 内部的callee()方法,此方法是function 类型内部的一个属性,它是一个指针指向函数参数对象的函数,即callee所在函数的本身
所以以后的阶乘可以这样写了
function factorial(num){
if(num <= 1){
return 1;
}else{
return num * callee(num - 1);
}
}