当前位置: 首页 > news >正文

牌具做网站/百度怎么推广网站

牌具做网站,百度怎么推广网站,网站建设经典语录,小型企业做网站的价格点击右上方红色按钮关注“web秀”,让你真正秀起来递归基础知识什么是递归在JavaScript程序中,函数直接或间接调用自己。通过某个条件判断跳出结构,有了跳出才有结果。JavaScript中如何使用递归?递归的步骤(技巧)1、假设递归函数已…

点击右上方红色按钮关注“web秀”,让你真正秀起来

递归基础知识

什么是递归

在JavaScript程序中,函数直接或间接调用自己。通过某个条件判断跳出结构,有了跳出才有结果。

8a4d9435000f3d7a7765f572662741ec.png

JavaScript中如何使用递归?

递归的步骤(技巧)

1、假设递归函数已经写好

2、寻找递推关系

3、将递推关系的结构转换为递归体

4、将临界条件加入到递归体中(一定要加临界条件,某则陷入死循环,内存泄漏)

简单递归示例

通过简单的示例先来了解熟悉一下递归,看看如何使用递归?

一、求1-100的和

68d8d22e644d0b9d226786de3f77bd26.png

JavaScript中如何使用递归?

假设让你来,你是否会这样写?

var sum = 0;for(var i=1; i<=100; i++){ sum += i;}console.log(sum); // 5050

JavaScript用递归如何计算求1-100的和了?

分析:

假设递归函数已经写好,既sum(100),就是求1-100的和。寻找递推关系: 就是 n 与 n-1 ,或 n-2 之间的关系:

sum(n) == sum(n-1) + n

var resulst = sum(100);var resulst = sum(99) + 100;...

1、将递归结构转换成递归体

function sum(n){ return sum(n-1) + n;}

这时候我们差一个重要的步骤,也就是临界值,来阻止程序死循环

2、将临界条件加入到递归中 求100 转换为 求99 求99 转换为 求98 求98 转换为 求97 … 求2 转换为 求1 求1 转换为 求1 即 sum(1) = 1

3、递归函数

function sum(n){ if(n==1) return 1; return sum(n-1) + n;}var amount = sum(100);console.log(amount); // 5050

二、求 2,4,6,8,10… 第n项与前n项之和

94e2645d193952f9bafaec748efb63a3.png

JavaScript中如何使用递归?

分析:

假设已知函数 fn(n)为第n项,sum(n)为前n项之和

递归关系

fn(n) = fn(n-1) + 2sum(n) = fn(n) + sum(n-1)

递归体

function fn(n){ return fn(n) = (n-1) + 2}function sum(n){ return sum(n) = fn(n) + sum(n-1);}

这时候我们同样差一个重要的步骤,也就是临界值,来阻止程序死循环

1、临界条件

fn(0) = 2sum(0) = 2;

2、递归函数

function fn(n){ if(n == 0) return 2; return fn(n-1) + 2;}function sum(n){ if(n==0) return 2; return fn(n) + sum(n-1);}var amount = sum(100);console.log(amount); // 10302

实际项目中用到递归的有哪些地方?

f0a86a1e9cac220d461d2bd0b23d3452.png

JavaScript中如何使用递归?

1、遍历树形结构的数据

var data = [{ name: '第一代', child: [{ name: '第二代', child: [{ name: '第三代', child: [{ ... ... }] },{ name: '第三代' }] },{ name: '第二代' },{ name: '第二代' }]}]

这样的数据结构,你就需要一个递归函数来解决问题了,因为你不知道有多少个child,有多少层级在里面,可能是100,也可能是1亿,所以就递归直到没有child后来终止程序。

e4bde8d48c8c95177cbfd5cedf0a1d82.png

JavaScript中如何使用递归?

推荐文章: 《VUE开发一个组件——Vue tree树形结构》 这里vue来递归组件。

树形遍历其实有很多,比如无限极分类,有类别的系统,比如商城后台,博客列表等等。

2、接口调用,根据上一个接口返回数据条数n,调用n次

虽然很不科学,但是小编实际遇到过这样的需求

$.ajax(...).then((data)=>{ // data是数组 let fun = (index)=>{ let params = data[index]; $.ajax(...params).then(...) // 如果index小于data.length就继续执行fun函数 if(index
7f301326a880f562c15e2d17f52a573e.png

JavaScript中如何使用递归?

总结

递归在很多语言中都很常见,它能解决很多你不知道深度

同时本文重申三遍的问题,大家一定要记住。

公告

为了感谢大家一直以来的支持,小编发起了抽奖活动,大家可以去参与,转发抽奖活动和关注小编即可参与,抽出5名小伙伴每人20元话费奖励。再次感谢大家的支持。

http://www.jmfq.cn/news/4908331.html

相关文章:

  • 做电影网站只放链接算侵权吗/怎样把广告放到百度
  • 合肥网站开发公司电话/写软文的app
  • 网站上传后没有后台/搜索引擎seo优化
  • 网站设计与管理的软件/seo基本步骤
  • 嘉兴模板建站定制网站/网站制作模板
  • b站推出的短视频app哪个好/网站seo优化公司
  • 苏州seo优化公司/网络优化seo薪酬
  • 网站分类 维护/广州最新消息
  • 网站建设模板推广/bt种子磁力搜索引擎
  • 长沙市住房和城乡建设委员会门户网站/关键词排名优化报价
  • 宁夏网站建设优化/竞价托管外包费用
  • 上海建网站开发公/营销型网站建设案例
  • web网站开发里怎么切换界面/优秀营销软文100篇
  • 郑州网站专业制作/网站推广的100种方法
  • 天津市门户网站建设要求/四川餐饮培训学校排名
  • 物流网站毕业设计论文/宁波如何做抖音seo搜索优化
  • 网站建设的建议和意见/近期国内新闻热点事件
  • 滨州做网站建设/今日国内新闻10则
  • 承德网站建设/广州做网站的公司哪家好
  • 深圳建设企业网站/谷歌网站优化推广
  • 创建企业营销网站包括哪些内容/郑州网络营销公司哪个好
  • 深圳松岗做网站/最新新闻热点事件
  • 怎样推广自己做的网站/白帽seo是什么
  • 网站开发实训报告/怎么做线上销售
  • 网页设计就业/成都搜狗seo
  • 建设通是什么网站/营销推广方案怎么写
  • 网站建设算不算固定资产/百度搜索大数据查询
  • 我的世界做mc壁纸的网站/青岛网络工程优化
  • 沈阳正规的男科医院/seo网站优化系统
  • 全国建筑信息查询网/全网关键词优化公司哪家好