为了账号安全,请及时绑定邮箱和手机立即绑定

请教大神一些问题。js问题

请教大神一些问题。js问题

艾伦的吉他 2017-02-22 16:01:44
function jc(sum) {         if(sum <= 1) { return 1; } else { console.log(sum);//依次输出4,3,2                                  return sum * arguments.callee(sum - 1);//想知道这段代码是怎么运行的。为什么arguments.callee(sum - 1)会有值。 } }jc(4);
查看完整描述

1 回答

已采纳
?
学习js

TA贡献85条经验 获得超55个赞

arguments.callee在哪一个函数中运行,它就代表哪一个函数.

在匿名函数中有时会需要自己调用自己,但是由于是匿名函数,没有名子,无名可调。

这时就可以用arguments.callee来代替匿名的函数

在这段代码里应该就带jc这个函数,所以jc(4)就是算4的阶乘

查看完整回答
1 反对 回复 2017-02-22
  • 1 回答
  • 0 关注
  • 1119 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信