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 相关文章推荐
jQuery DIV弹出效果实现代码
Jul 03 Javascript
javascript URL编码和解码使用说明
Apr 12 Javascript
在Ajax中使用Flash实现跨域数据读取的实现方法
Dec 02 Javascript
Raphael带文本标签可拖动的图形实现代码
Feb 20 Javascript
jquery实现的图片点击滚动效果
Apr 29 Javascript
Vue表单类的父子组件数据传递示例
May 03 Javascript
浅析vue 函数配置项watch及函数 $watch 源码分享
Nov 22 Javascript
vue webpack打包后图片路径错误的完美解决方法
Dec 07 Javascript
jQuery实现全选、反选和不选功能的方法详解
Dec 04 jQuery
Angular如何由模板生成DOM树的方法
Dec 23 Javascript
JS实现滑动插件
Jan 15 Javascript
EXTJS7实现点击拖拉选择文本
Dec 17 Javascript
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
php初学者写及时补给skype用户充话费的小程序
2008/11/02 PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
2014/01/22 PHP
PHP实现AES256加密算法实例
2014/09/22 PHP
php header函数的常用http头设置
2015/06/25 PHP
PDO的安全处理与事物处理方法
2016/10/31 PHP
php中通过eval实现字符串格式的计算公式
2017/03/18 PHP
ThinkPHP防止重复提交表单的方法实例分析
2018/05/10 PHP
Javascript优化技巧(文件瘦身篇)
2008/01/28 Javascript
CSS JavaScript 实现菜单功能 改进版
2008/12/09 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
2014/08/16 Javascript
javascript实现起伏的水波背景效果
2016/05/16 Javascript
AngularJS  自定义指令详解及实例代码
2016/09/14 Javascript
Vue关于数据绑定出错解决办法
2017/05/15 Javascript
vue-router 组件复用问题详解
2018/01/22 Javascript
layui数据表格实现重载数据表格功能(搜索功能)
2019/07/27 Javascript
layui问题之渲染数据表格时,仅出现10条数据的解决方法
2019/09/12 Javascript
vue 路由懒加载中给 Webpack Chunks 命名的方法
2020/04/24 Javascript
如何在Vue项目中添加接口监听遮罩
2021/01/25 Vue.js
常用python数据类型转换函数总结
2014/03/11 Python
python使用webbrowser浏览指定url的方法
2015/04/04 Python
python处理csv数据动态显示曲线实例代码
2018/01/23 Python
Python通过两个dataframe用for循环求笛卡尔积
2020/04/29 Python
Python中logging日志的四个等级和使用
2020/11/17 Python
python实现xml转json文件的示例代码
2020/12/30 Python
关于HTML5你必须知道的28个新特性,新技巧以及新技术
2012/05/28 HTML / CSS
世界上最大的在线学习和教学市场:Udemy
2017/11/08 全球购物
英国网上购买门:Direct Doors
2018/06/07 全球购物
测量实习生自我鉴定
2013/09/19 职场文书
医务人员竞聘职务自我评价分享
2013/11/08 职场文书
物流合作计划书
2014/01/10 职场文书
消防志愿者活动方案
2014/08/23 职场文书
购房委托书
2014/10/15 职场文书
2014年销售员工作总结
2014/12/01 职场文书
拾金不昧表扬信怎么写
2015/05/04 职场文书
傅雷家书读书笔记
2015/06/29 职场文书
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python