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 相关文章推荐
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
Dec 14 Javascript
jQuery实现的简单拖拽功能示例
Sep 13 Javascript
BootStrap 可编辑表Table格
Nov 24 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
Jan 30 Javascript
使用vue.js写一个tab选项卡效果
Mar 25 Javascript
Angular 4.x 路由快速入门学习
May 03 Javascript
webpack学习教程之前端性能优化总结
Dec 05 Javascript
vue select组件的使用与禁用实现代码
Apr 10 Javascript
vue后台管理之动态加载路由的方法
Aug 13 Javascript
Vue从TodoList中学父子组件通信
Feb 05 Javascript
vue使用element-ui实现表单验证
Dec 13 Vue.js
vue实现图片裁剪后上传
Dec 16 Vue.js
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的fsockopen、pfsockopen函数被主机商禁用的解决办法
2014/07/08 PHP
分享最受欢迎的5款PHP框架
2014/11/27 PHP
在SAE上搭建最新wordpress的方法
2014/12/21 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
详解PHP神奇又有用的Trait
2019/03/25 PHP
js 代码集(学习js的朋友可以看下)
2009/07/22 Javascript
2010年最佳jQuery插件整理
2010/12/06 Javascript
五段实用的js高级技巧
2011/12/20 Javascript
js给页面加style无效果的解决方法
2014/01/20 Javascript
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
Javascript 运动中Offset的bug解决方案
2014/12/24 Javascript
使用jQuery判断Div是否在可视区域的方法 判断div是否可见
2016/02/17 Javascript
JS/jQ实现免费获取手机验证码倒计时效果
2016/06/13 Javascript
微信小程序之购物车功能
2020/09/23 Javascript
vue-cli如何引入bootstrap工具的方法
2017/10/19 Javascript
JavaScript数据结构之优先队列与循环队列实例详解
2017/10/27 Javascript
浅谈react-router HashRouter和BrowserRouter的使用
2017/12/29 Javascript
用ES6的class模仿Vue写一个双向绑定的示例代码
2018/04/20 Javascript
在Vue中使用icon 字体图标的方法
2019/06/14 Javascript
LayUi数据表格自定义赋值方式
2019/10/26 Javascript
node.js express捕获全局异常的三种方法实例分析
2019/12/27 Javascript
浅谈es6中的元编程
2020/12/01 Javascript
一起来了解一下JavaScript的预编译(小结)
2021/03/01 Javascript
[46:00]Ti4 冒泡赛第二轮LGD vs C9 2
2014/07/14 DOTA
Python将文字转成语音并读出来的实例详解
2019/07/15 Python
pyCharm 设置调试输出窗口中文显示方式(字符码转换)
2020/06/09 Python
英国虚拟主机服务商:eUKhost
2016/08/16 全球购物
澳大利亚宠物商店:Petbarn
2017/11/18 全球购物
美国宠物护理专家:Revival Animal Health
2020/01/05 全球购物
UNIX文件类型
2013/08/29 面试题
通息工程毕业生自荐信
2013/10/16 职场文书
幼儿园中班新学期寄语
2014/01/18 职场文书
聚美优品陈欧广告词
2014/03/14 职场文书
村党支部公开承诺书
2014/05/29 职场文书
mysql 直接拷贝data 目录下文件还原数据的实现
2021/07/25 MySQL
Java 超详细讲解设计模式之中的抽象工厂模式
2022/03/25 Java/Android