js-setTimeout参数,递归

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js-setTimeout参数,递归相关的知识,希望对你有一定的参考价值。

一、斐波那契数列:var arr = [1,1,2,3,5,8....];

1.用函数生成斐波那契数列的随意的任一项;

function fib(n){
    if(n<3){
        return 1;
    }else{
        return fib(n-1)+fib(n-2);
    }
}

 

 

function fib(n){
    var n1=1,n2=1,fn=0;
    for(var i=0;i<n-2;i++){
        fn = n1+n2;
        n1 = n2;
        n2 = fn;
    }
    return n2;
}

2.用递归的方式生成斐波那契数列;

 

 

var arrObj = {
        arr:[],
        createO:function(n){
            if(n<2){
                return 1;
            }else{
                return this.createO(n-1)+this.createO(n-2);
            }
        },
        arrCreate:function(n){
            for(var i=0 ;i<n;i++){
                this.arr.push(this.createO(i));          

            }
           return this.arr;
        }
    };
    arrObj.arrCreate(8)

 

 

3.在每斐波那契数列的一项的时间间隔内输出这一项的斐波那契数列的值;

 

 var arrObj = {
        arr:[],
        createO:function(n){
            if(n<2){
                return 1;
            }else{
                return this.createO(n-1)+this.createO(n-2);
            }
        },
        arrCreate:function(n){
            for(var i=0 ;i<n;i++){
                var _this = this;
                var font = this.createO(i);
                var time = font*1000;
                (function(i,_this,time){
                    setTimeout(function(){
                        console.log(_this.createO(i));
                    },time);
                })(i,_this,time);
            }
           return this.arr;
        }
    };
    arrObj.arrCreate(8)

以上是关于js-setTimeout参数,递归的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript - 代码片段,Snippets,Gist

Python函数

10方法的定义和重载和递归

CSP核心代码片段记录

executePendingTransactions 的递归入口

nodejs常用代码片段