【笔记】js Function类型 内部方法callee

 运用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);
             }
}

 

posted @ 2016-12-04 13:37  Stitch晨  阅读(503)  评论(0编辑  收藏  举报