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

js实现阶乘函数的问题

js实现阶乘函数的问题

慕姐8265434 2019-04-13 08:46:13
书上说下面这样写不好。functionfactorial(num){if(num
查看完整描述

2 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

第一种实现方式依赖于外层函数的名称factorial,而factorial可能会在后来被其他值改写
第二种实现方式不依赖于函数的名称,而是用arguments对象的callee属性来指向外层函数
                            
查看完整回答
反对 回复 2019-04-13
?
慕的地6264312

TA贡献1817条经验 获得超6个赞

第二种的好处,Joe3已经说了。但坏处是:arguments.callee的性能不佳,已经被标准所摈弃了。所以其实第一种反而是目前标准推荐的写法。
考虑到你不太可能经常变换函数名称,而且即使变换了,顺手把递归部分一起改掉,也不会是什么麻烦事,所以还是按标准写吧。
                            
查看完整回答
反对 回复 2019-04-13
  • 2 回答
  • 0 关注
  • 334 浏览
慕课专栏
更多

添加回答

举报

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