码迷,mamicode.com
首页 > Web开发 > 详细

js中斐波拉切数的三种写法;

时间:2017-05-25 00:11:37      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:strong   color   arguments   err   ret   模式   执行   nbsp   factor   

js中斐波拉切数的三种写法;

function factorial(num){
    if(num <=1){
        return 1;
    }else{
        return num* factorial(num-1);
    }
}    
console.log(factorial(5));//120

面这个函数的执行与函数名紧紧耦合在了一起,可以使用arguments.callee可以消除函数解耦

第二种(在严格模式下,访问这个属性会抛出TypeError错误)

function factorial(num){
    if(num <=1){
        return 1;
    }else{
        return num* arguments.callee(num-1);
    }
}    
console.log(factorial(5));//120

第三种:

var factorial = function fn(num){
    if(num <=1){
        return 1;
    }else{
        return num*fn(num-1);
    }
};    
console.log(factorial(5));//120

 

js中斐波拉切数的三种写法;

标签:strong   color   arguments   err   ret   模式   执行   nbsp   factor   

原文地址:http://www.cnblogs.com/mc67/p/6901466.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!