简单解析JavaScript中的递归问题之斐波那契

简介: 简单解析JavaScript中的递归问题之斐波那契本篇博客来简单讲解一下JavaScript中的递归函数问题,在数学问题中叫递推。在前面我们学到了for循环,然后利用for循环进行嵌套解决各种问题,其实for循环的嵌套在某种意义上就是一种递归函数。简单来说递归函数就是在函数体内调用本函数,同时需要注意的是使用递归函数时要注意函数的终止条件,避免函数陷入死循环。下面我们来说一下递归函数中的典型案列,斐波那契数列(黄金比例数列)。斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、34、……这个数列从第3项开始,每一项都等于前两项之和。这个问题在数学中的解决方式

简单解析JavaScript中的递归问题之斐波那契




本篇博客来简单讲解一下JavaScript中的递归函数问题,在数学问题中叫递推。在前面我们学到了for循

环,然后利用for循环进行嵌套解决各种问题,其实for循环的嵌套在某种意义上就是一种递归函数。


简单来说递归函数就是在函数体内调用本函数,同时需要注意的是使用递归函数时要注意函数的终止条件,避免函数陷入死循环。下面我们来说一下递归函数中的典型案列,斐波那契数列(黄金比例数列)。


斐波那契数列指的是这样一个数列:


1、1、2、3、5、8、13、21、34、……


这个数列从第3项开始,每一项都等于前两项之和。


这个问题在数学中的解决方式:f(0)=1,f(1)=1,…f(n)=f(n-1)+f(n-2),n趋于无穷大,放到js中就可以用递归函数来解决,如下:


functionfunc(n){
if(n<=1){
return1;
        }
returnfunc(n-1)+func(n-2);
    }
// 利用js的循环 调用递归函数for(vari=0;i<10;i++){
console.log(func(i));
    }


今天的问题只能讲到这里,深一点的应用等咱们后面学的在多一些继续进行讲解。


视频讲解链接:
https://www.bilibili.com/video/BV1ti4y1477L

相关文章
|
2月前
|
JavaScript 前端开发
Vue 应用 main.js 里的源代码解析
Vue 应用 main.js 里的源代码解析
26 0
|
3月前
|
算法 数据库
递归最佳解析
递归最佳解析
40 0
|
1天前
|
JavaScript 前端开发 UED
深入解析JavaScript原生操作DOM技术
【4月更文挑战第22天】本文深入探讨JavaScript原生DOM操作技术,包括使用`getElement*`方法和CSS选择器获取元素,借助`createElement`与`appendChild`动态创建及插入元素,修改元素内容、属性和样式,以及删除元素。通过掌握这些技术,开发者能实现页面动态交互,但应注意避免过度操作DOM以优化性能和用户体验。
|
1天前
|
前端开发 JavaScript 编译器
深入解析JavaScript中的异步编程:Promises与async/await的使用与原理
【4月更文挑战第22天】本文深入解析JavaScript异步编程,重点讨论Promises和async/await。Promises用于管理异步操作,有pending、fulfilled和rejected三种状态。通过.then()和.catch()处理结果,但可能导致回调地狱。async/await是ES2017的语法糖,使异步编程更直观,类似同步代码,通过事件循环和微任务队列实现。两者各有优势,适用于不同场景,能有效提升代码可读性和维护性。
|
7天前
|
JavaScript
node.js递归拼凑成树形结构
node.js递归拼凑成树形结构
9 0
|
1月前
|
算法 Java
Java必刷入门递归题×5(内附详细递归解析图)
Java必刷入门递归题×5(内附详细递归解析图)
21 1
|
1月前
|
JavaScript 前端开发
JavaScript递归的理解(最详细)
JavaScript递归的理解(最详细)
|
1月前
|
自然语言处理 JavaScript 前端开发
Vue.js 深度解析:模板编译原理与过程
Vue.js 深度解析:模板编译原理与过程
|
1月前
|
缓存 JavaScript 网络架构
Vue.js 进阶技巧:keep-alive 缓存组件解析
Vue.js 进阶技巧:keep-alive 缓存组件解析
|
1月前
|
JavaScript 前端开发 API
Vue.js 深度解析:nextTick 原理与应用
Vue.js 深度解析:nextTick 原理与应用

推荐镜像

更多