文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何理解JavaScript中的递归函数

2024-04-02 19:55

关注

今天就跟大家聊聊有关如何理解JavaScript中的递归函数,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

什么是递归函数在编程世界里面,递归就是一个自己调用自己的手段,递归函数: 一个函数内部,调用了自己,循环往复

// 下面这个代码就是一个最简单的递归函数// 在函数内部调用了自己,函数一执行,就调用自己一次,在调用再执行,循环往复,没有止尽function fn() {

  fn()}fn()

· 其实递归函数和循环很类似

· 需要有初始化,自增,执行代码,条件判断的,不然就是一个没有尽头的递归函数,我们叫做 死递归

简单实现一个递归

· 我们先在用递归函数简单实现一个效果

· 需求: 求 1 至 5 的和

· 先算 1 + 2 得 3

· 再算 3 + 3 得 6

· 再算 6 + 4 得 10

· 再算 10 + 5 得 15

· 结束

· 开始书写,写递归函数先要写结束条件(为了避免出现 “死递归”)

function add(n) {

  // 传递进来的是 1  // 当 n === 5 的时候要结束  if (n === 5) {

    return 5

  }}

add(1)

· 再写不满足条件的时候我们的递归处理

function add(n) {

  // 传递进来的是 1  // 当 n === 5 的时候要结束  if (n === 5) {

    return 5

  } else {

    // 不满足条件的时候,就是当前数字 + 比自己大 1 的数字    return n + add(n + 1)

  }}add(1)

预习:提前了解一下对象

· 对象是一个复杂数据类型

· 其实说是复杂,但是没有很复杂,只不过是存储了一些基本数据类型的一个集合

var obj = {

  num: 100,

  str: 'hello world',

  boo: true}

· 这里的 {} 和函数中的 {} 不一样

· 函数里面的是写代码的,而对象里面是写一些数据的

· 对象就是一个键值对的集合

· {} 里面的每一个键都是一个成员

· 也就是说,我们可以把一些数据放在一个对象里面,那么他们就互不干扰了

· 其实就是我们准备一个房子,把我们想要的数据放进去,然后把房子的地址给到变量名,当我们需要某一个数据的时候,就可以根据变量名里面存储的地址找到对应的房子,然后去房子里面找到对应的数据

创建一个对象

· 字面量的方式创建一个对象

// 创建一个空对象var obj = {}

// 像对象中添加成员obj.name = 'Jack'obj.age = 18

· 内置构造函数的方式创建对象

// 创建一个空对象var obj = new Object()

// 向对象中添加成员obj.name = 'Rose'obj.age = 20

· Object 是 js 内置给我们的构造函数,用于创建一个对象使用的

看完上述内容,你们对如何理解JavaScript中的递归函数有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网行业资讯频道,感谢大家的支持。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯