用函数缓存 阶乘函数 提高运行速度

用函数缓存 阶乘函数 提高性能
缓存函数不常用
但是思想还是要掌握的
写代码没什么比思想的训练更重要的了

 function Factorial(n){   //阶乘函数

     if(n==1||n==0){
         return 1
     }

     return n*Factorial(n-1)
 }





function cache(fn){  //缓存函数
   var result={}
   return function(){
       var this_=this
       var  arg=Array.prototype.join.call(arguments,",")


       return result[arg]=result[arg]||fn.apply(this_,arguments)


   }



}
var result=cache(Factorial)
console.log(result(6))






你可能感兴趣的:(用函数缓存 阶乘函数 提高运行速度)