函数表达式-递归
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,递归递归函数是在函数通过调用自身的情况下构成的1 function factorial(num){2 if (num <=1){3 return 1;4
千家信息网最后更新 2025年01月21日函数表达式-递归
递归
递归函数是在函数通过调用自身的情况下构成的
1 function factorial(num){2 if (num <=1){3 return 1;4 } else {5 return num * factorial(num-1);6 }7 }
这是一个经典的递归阶乘函数,但是下面的代码会让它出错
1 var anotherFactorial = factorial;2 factorial = null;3 console.log(anotherFactorial(4));//factorial is not a function
在执行anotherFactorial()函数时,factorial已经不是函数了
arguments.callee是一个指向正在执行的函数的指针,因此何以用它来实现对函数的递归调用
1 function factorial(num){2 if (num <=1){3 return 1;4 } else {5 return num * arguments.callee(num-1);6 }7 }
但是在严格模式下,不能通过脚本访问arguments.callee,访问这个属性会导致错误。不过,可以使用命名函数表达式达成相同的结果
1 var factorial = (function f(num){ 2 if (num <= 1){ 3 return 1; 4 } else { 5 return num * f(num -1); 6 } 7 }); 8 9 var anotherFactorial = factorial;10 factorial = null;11 console.log(anotherFactorial(4)); //24
函数
递归
是在
表达式
相同
代码
属性
情况
指向
指针
模式
正在
经典
结果
脚本
这是
错误
阶乘
面的
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
aspx 数据库配置
上海软件开发技术服务值多少钱
独立游戏的服务器怎么做的
眼镜行业软件开发几多钱
阳谷租房网络安全
淮北库存软件开发平台
数据库空间和网页空间
警察给学生网络安全讲课
长沙erp软件开发如何收费
阿里钉钉新增多少服务器
建筑外文数据库
成都苹果软件开发怎样收费
excle搜索重复数据库
网易用的谁家的服务器
尚德网络技术有限公司征集广告
林业局网络安全执法自查总结
c 项目 数据库
sql数据库建立代码
qq音乐能播放家用服务器的歌吗
有线网络显示无法连接服务器
中国电科网络安全评论
太仓创新软件开发记录
接单软件开发费用
国家为什么进行网络安全
网络安全知识来了
数据库中的信息在前端显示乱码
全民网络安全知识大比拼
做软件开发真的很累么
网络安全防邮件攻击
数字化城管网络安全