let m = 1;let nn = 1;function fn(n){nn = nn * m;if(m == n){console.log(nn);   //120return nn;}m++;fn(n);}console.log(fn(5));   //undefined

问题描述:

如图 明明设置了return,console.log也能输出 但是最后调用fn(5)最后输出undefined

原因:

在递归函数内部调用fn时没有return,也就没有值返回给最外层的函数

解决方案:

在递归函数内部调用fn前加上return

        let m = 1;let nn = 1;function fn(n){nn = nn * m;if(m == n){console.log(nn);   //120return nn;}m++;return fn(n);}console.log(fn(5));   //120

JS递归函数return返回undefined相关推荐

  1. js运用return返回值进行求银行卡余额

    让用户输入银行卡余额 水费 网费 求银行卡余额 在页面上输出,并将返回的值在控制台打印出来 <!DOCTYPE html> <html lang="zh-CN"& ...

  2. ajax异步传输数据时return返回总是undefined(转载)

    写ajax传送数据时,需要用到异步,如上代码即总会返回undefined,很是费解.各种方式调试,后来广阅网上博客 ,发现其实很多人遇到过这样的问题,大家都说原因是Jquery的ajax是异步,大多时 ...

  3. 解决ajax异步传输数据,return返回为undefined的问题

    解决ajax异步传输数据,return返回为undefined的问题 参考文章: (1)解决ajax异步传输数据,return返回为undefined的问题 (2)https://www.cnblog ...

  4. android 调用js怎么获取返回值_js 函数

    函数是一个特殊的对象 具名函数 function 函数名(形式参数1,形式参数2){ 语句 return 返回值 } 匿名函数 上门的具名函数,去掉函数名就是匿名函数 let a =function( ...

  5. return true Java_[Java教程]js中return,return true,return false的用法及区别

    [Java教程]js中return,return true,return false的用法及区别 0 2015-11-16 23:00:03 1.语法及返回方式 ①返回控制与函数结果 语法为:retu ...

  6. php+js+return+true,js中return、return false、return true的区别

    1.语法及返回方式 ①返回控制与函数结果 语法为:return 表达式; 语句结果函数的执行,返回调用函数,而且把表达式的值作为函数结果返回出去 ②返回控制无函数结果 语法为:return; 在大多数 ...

  7. js递归函数使用介绍

    所谓的递归函数就是在函数体内调用本函数. 使用递归函数一定要注意,处理不当就会进入死循环.递归函数只有在特定的情况下使用 ,比如阶乘问题 一个10以内的阶乘,js递归函数实例代码: <!DOCT ...

  8. JS 中如何判断 undefined 和 null

    为什么80%的码农都做不了架构师?>>>    JS 中如何判断 undefined JavaScript 中有两个特殊数据类型:undefined 和 null,下节介绍了 nul ...

  9. $.messager.progress ajax,ajax异步上传文件返回undefined

    ajax跨域上传文件,封装了一个上传文件的方法sendFilePost,上传文件的时候使用async: false同步上传就不会弹出等待框,返回的结果没问题,但是使用了异步的方法async: ture ...

最新文章

  1. 每日一题(字符串拆分)
  2. 从零到一编码实现Redis分布式锁
  3. Windows server 2003 DNS 全攻略(一)
  4. 不要随意重装你的操作系统
  5. oracle查询结果插入新表,如何将查询出来的数据记录插入新表??
  6. Visual Studio 2015编译Lua 5.3.4遇到的坑
  7. 美国通过热像无人机找到失踪老人
  8. Python内置函数教程
  9. PAT——个位数统计(1021)
  10. yjv是电缆还是电线_YJV与VV电缆的区别你知道吗?推荐
  11. Makefile学习(二)[第二版]
  12. [渝粤题库]西北工业大学电力系统自动装置
  13. VueJS组件之全局组件与局部组件
  14. 鸿蒙轻内核M核源码分析:数据结构之任务排序链表
  15. AOP面向切面编程 淘宝京东网络处理
  16. Centos7 Putty SSH密钥登录
  17. SqlServer 数据库可疑修复
  18. LTE无线网络规划的四大要点
  19. python socket编程详细教程_最基础的Python的socket编程入门教程
  20. Vista破解方法深度总结

热门文章

  1. csgo内置服务器文件夹,centos7搭建csgo服务器
  2. 你的第一个独立游戏失败了?告诉你下一步该做什么
  3. 乐高小颗粒履带机器人_乐高履带机器人拼法 | 手游网游页游攻略大全
  4. jdbc高效的批量插入数据
  5. 七大设计原则与设计模式(创建型模式、结构型模式、行为型模式)
  6. C4D快速实现交叉克隆
  7. spring mvc重复提交解决办法
  8. vscode nrf connect sdk搜索不全问题
  9. Maven项目打包成Docker镜像并启用
  10. 计算机组成原理中断控制器,中断控制器8259-计算机组成原理与汇编语言-电子发烧友网站...