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中SetTimeOut传参问题探讨
May 10 Javascript
javascript的创建多行字符串的7种方法
Apr 29 Javascript
js中不同的height, top的区别对比
Sep 24 Javascript
js实现纯前端的图片预览
Apr 27 Javascript
JavaScript操作选择对象的简单实例
May 16 Javascript
jQuery事件委托之Safari
Jul 05 Javascript
Bootstrap Scrollspy源码学习
Mar 02 Javascript
JS实现批量上传文件并显示进度功能
Jun 27 Javascript
微信小程序显示下拉列表功能【附源码下载】
Dec 12 Javascript
vuejs实现标签选项卡动态更改css样式的方法
May 31 Javascript
浅谈Vue SSR中的Bundle的具有使用
Nov 21 Javascript
vue输入框使用模糊搜索功能的实现代码
May 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
对淘宝URL中ID提取的PHP代码
2013/09/01 PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
2014/08/25 PHP
php返回json数据函数实例
2014/10/09 PHP
php图片处理函数获取类型及扩展名实例
2014/11/19 PHP
PHP生成压缩文件实例
2015/02/07 PHP
Yii学习总结之数据访问对象 (DAO)
2015/02/22 PHP
解析WordPress中的post_class与get_post_class函数
2016/01/04 PHP
php实现在线考试系统【附源码】
2018/09/18 PHP
JavaScript高级程序设计 事件学习笔记
2011/09/10 Javascript
JavaScript学习笔记(二) js对象
2011/10/25 Javascript
Javascript级联下拉菜单以及AJAX数据验证核心代码
2013/05/10 Javascript
js对象基础实例分析
2015/01/13 Javascript
基于AngularJS+HTML+Groovy实现登录功能
2016/02/17 Javascript
Vue.js快速入门实例教程
2016/10/15 Javascript
vue2.0获取自定义属性的值
2017/03/28 Javascript
js仿微信公众平台打标签功能
2017/04/08 Javascript
利用JS做网页特效_大图轮播(实例讲解)
2017/08/09 Javascript
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
安装Node.js并启动本地服务的操作教程
2018/05/12 Javascript
详解在vue-cli3.0中自定css、js和图片的打包路径
2019/08/26 Javascript
vue在App.vue文件中监听路由变化刷新页面操作
2020/08/14 Javascript
JSONObject与JSONArray使用方法解析
2020/09/28 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python使用mysql的两种使用方式
2018/03/07 Python
Python企业编码生成系统之主程序模块设计详解
2019/07/26 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
2019/08/01 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
Python描述数据结构学习之哈夫曼树篇
2020/09/07 Python
手摸手教你用canvas实现给图片添加平铺水印的实现
2019/08/20 HTML / CSS
美国智能家居专家:tink
2019/06/04 全球购物
模具专业推荐信
2013/10/30 职场文书
本科生自荐信
2014/06/18 职场文书
初三毕业评语
2014/12/26 职场文书
为什么代码规范要求SQL语句不要过多的join
2021/06/23 MySQL
Java实现带图形界面的聊天程序
2022/06/10 Java/Android