JS中递归函数


Posted in Javascript onJune 17, 2016

编程语言中,函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数。递归函数不能定义为内联函数。

递归函数:

function factorical(num){
if(num<=1){


return 1;

}

else{


return num*factorical(num-1);

}
}
factorial(2)//2

这个递归函数就是用函数来调用函数本身,但是这样真的好吗,好 接下来看这里

var another=factorical;
factorical=null;
console.log(another(2))//会报错说 factorical not a function

这就是函数调用函数的弊端,那怎么解决呢,看下面

function factorical(num){
if(num<=1){


return 1;

}

else{


return num*arguments.callee(num-1);

}
}
var another=factorical;
factorical=null;
console.log(another(2))//2

以上 用arguments.callee去代替函数名,就可以确保函数不管怎么调用都不会出错。

以上所述是小编给大家介绍的JS中递归函数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript 限制输入脚本大全
Nov 03 Javascript
jQuery动态设置form表单的enctype值(实现代码)
Jul 04 Javascript
常规表格多表头查询示例
Feb 21 Javascript
js实现window.open不被拦截的解决方法汇总
Oct 30 Javascript
JS实现的表头列头固定页面功能示例
Jan 10 Javascript
JavaScript中捕获与冒泡详解及实例
Feb 03 Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
Sep 28 Javascript
react实现一个优雅的图片占位模块组件详解
Oct 30 Javascript
微信小程序实现自定义加载图标功能
Jul 19 Javascript
微信公众号平台接口开发 菜单管理的实现
Aug 14 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
Jun 28 Javascript
jQuery实现简单全选框
Sep 13 jQuery
jQuery ajax中使用confirm,确认是否删除的简单实例
Jun 17 #Javascript
JavaScript简单实现弹出拖拽窗口(一)
Jun 17 #Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
Jun 17 #Javascript
聊一聊JS中this的指向问题
Jun 17 #Javascript
json实现添加、遍历与删除属性的方法
Jun 17 #Javascript
confirm确认对话框的实现方法总结
Jun 17 #Javascript
js实现获取两个日期之间所有日期的方法
Jun 17 #Javascript
You might like
PHILIPS D1835/D1875的电路分析与打理
2021/03/02 无线电
第十一节--重载
2006/11/16 PHP
PHP多态代码实例
2015/06/26 PHP
微信公众号模板消息群发php代码示例
2016/12/29 PHP
js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件
2014/01/27 Javascript
vue2.0数据双向绑定与表单bootstrap+vue组件
2017/02/27 Javascript
JS表单提交验证、input(type=number) 去三角 刷新验证码
2017/06/21 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
2018/01/31 Javascript
vue-router的HTML5 History 模式设置
2018/09/08 Javascript
Node.js API详解之 readline模块用法详解
2020/05/22 Javascript
vue使用transition组件动画效果的实例代码
2021/01/28 Vue.js
[00:12]DAC2018 no[o]ne亮相SOLO赛 他是否如他的id一样无人可挡?
2018/04/06 DOTA
一步步教你用Python实现2048小游戏
2017/01/19 Python
Python scikit-learn 做线性回归的示例代码
2017/11/01 Python
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
Django RBAC权限管理设计过程详解
2019/08/06 Python
Mac安装python3的方法步骤
2019/08/09 Python
tensorflow实现在函数中用tf.Print输出中间值
2020/01/21 Python
Python过滤掉numpy.array中非nan数据实例
2020/06/08 Python
Spring http服务远程调用实现过程解析
2020/06/11 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
2020/07/09 Python
Python实现列表索引批量删除的5种方法
2020/11/16 Python
深入解读CSS3中transform变换模型的渲染
2016/05/27 HTML / CSS
CSS3属性box-sizing使用指南
2014/12/09 HTML / CSS
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
Jeep牧马人、切诺基和自由人零配件:4 Wheel Drive Hardware
2017/07/02 全球购物
WoolOvers澳洲官方网站:英国针织服装公司
2018/05/13 全球购物
探索欧洲最好的品牌:Bombinate
2019/06/14 全球购物
自我鉴定怎么写
2013/12/05 职场文书
会计个人实习计划书
2014/08/15 职场文书
个人三严三实对照检查材料
2014/09/25 职场文书
单位委托书
2014/10/15 职场文书
环保建议书范文
2015/09/14 职场文书
MySQL 全文索引使用指南
2021/05/25 MySQL
Android移动应用开发指南之六种布局详解
2022/09/23 Java/Android