递归

发布时间:2022-06-27 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了递归脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
let i = 0
    function laoHeShang(){
        i++
        console.LOG(i+'从前有座山,山里有座庙,庙里有个老和尚,老和尚对小和尚说,从前有座山,山里有座庙,庙里有个老和尚,老和尚对小和尚说...')
        if(i < 10){
                    laoHeShang()
            }
    }
    laoHeShang()

&nbsp;

概念:即自己调用自己,先执行一次,再调用自己,把这种情况称之为递归

=>它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。

 =>函数先执行一次,再调用自己,相当于函数没有执行完毕,一直在执行,所以递归相当于循环类似

注意点:递归必须有一个结束条件,要不然会形成死循环。

 

用递归求斐波拉契数列:

求Fibonacci的第n个数  1 1 2 3 5 8 13 21...(该数列中,有n个数字,从第三个数字开始:数值 =前一个数字 + 前面一个数字)即,n=(n-2)+(n-1)
function fb(n){
            if(n==1 || n==2){
                return 1
            }
            return fb(n-2) + fb(n-1)
        }
        VAR res = fb(7)
        console.log(res)

脚本宝典总结

以上是脚本宝典为你收集整理的递归全部内容,希望文章能够帮你解决递归所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。