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 使用手册(七)
Sep 23 Javascript
js获取当前日期代码适用于网页头部
Jun 27 Javascript
整理的比较全的event对像在ie与firefox浏览器中的区别
Nov 25 Javascript
javascript常用代码段搜集
Dec 04 Javascript
学习jQuey中的return false
Dec 18 Javascript
JS常见简单正则表达式验证功能小结【手机,地址,企业税号,金额,身份证等】
Jan 22 Javascript
JavaScript中三种常见的排序方法
Feb 24 Javascript
vue实现商品加减计算总价的实例代码
Aug 12 Javascript
layui实现数据分页功能(ajax异步)
Jul 27 Javascript
JS面向对象编程实现的Tab选项卡案例详解
Mar 03 Javascript
vue ssr+koa2构建服务端渲染的示例代码
Mar 23 Javascript
Vue项目页面跳转时浏览器窗口上方显示进度条功能
Mar 26 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往windows中添加用户
2006/12/06 PHP
深入php var_dump()函数的详解
2013/06/05 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
2015/12/24 PHP
mysql alter table命令修改表结构实例详解
2016/09/24 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
2016/11/01 PHP
详解PHP如何更好的利用PHPstorm的自动提示
2017/08/18 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
jquery+css+ul模拟列表菜单具体实现思路
2013/04/15 Javascript
javascript中数组的定义及使用实例
2015/01/21 Javascript
JavaScript插件化开发教程(五)
2015/02/01 Javascript
jQuery中 prop() attr()使用详解
2015/05/19 Javascript
JS图片等比例缩放方法完整示例
2016/08/03 Javascript
详解在vue-cli项目中安装node-sass
2017/06/21 Javascript
Vue单页面应用保证F5强刷不清空数据的解决方案
2018/01/31 Javascript
详解ECMAScript typeof用法
2018/07/25 Javascript
JS 自执行函数原理及用法
2019/08/05 Javascript
vue动态绘制四分之三圆环图效果
2019/09/03 Javascript
JS变量提升原理与用法实例浅析
2020/05/22 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
python标准算法实现数组全排列的方法
2015/03/17 Python
Python中文竖排显示的方法
2015/07/28 Python
Window 64位下python3.6.2环境搭建图文教程
2018/09/19 Python
python修改txt文件中的某一项方法
2018/12/29 Python
Opencv+Python实现图像运动模糊和高斯模糊的示例
2019/04/11 Python
python读写Excel表格的实例代码(简单实用)
2019/12/19 Python
Python reduce函数作用及实例解析
2020/05/08 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
python 无损批量压缩图片(支持保留图片信息)的示例
2020/09/22 Python
纯CSS3实现3D旋转书本效果
2016/03/21 HTML / CSS
记一次高分屏下canvas模糊问题
2020/02/17 HTML / CSS
开会迟到检讨书
2014/01/08 职场文书
天猫活动策划方案
2014/08/21 职场文书
保密工作承诺书
2014/08/29 职场文书
小学班级特色活动方案
2014/08/31 职场文书
招商引资工作汇报
2014/10/28 职场文书
Pytest中skip和skipif的具体使用方法
2021/06/30 Python