怎样定义递归函数,即使名字变了也可以用?
"use strict";
// 将这个方法赋值给另一个变量
var digui2 = digui;
// 置空之前的变量
digui = null;
digui2(10); // 就报错了
function digui(num) {
if (num < 2) {
return 1;
} else {
return num * digui(num - 1);
}
}
我知道可以用 arguments.callee 来代替函数名,但问题是我们的项目处于严格模式。
严格模式下不能使用 arguments.callee 。
有没有其它的方法?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可以考虑下面这种方式,而非直接声明式~