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

回调函数中判断条件使用后置递减会无限调用报错

回调函数中判断条件使用后置递减会无限调用报错

心有法竹 2018-11-22 18:14:05
function factorialize(num){  return num<=1?1:num*factorialize(num--);}factorialize(5);在上面这个函数中,前置使用递减是正确的,后置使用递减会报错:RangeError: Maximum call stack size exceeded我觉得后置使用的结果难道不应该是5*5*4*4*3*3*2*2*1么,为什么会无限调用导致溢出呢?
查看完整描述

1 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

后置递减是5x5x5x5x……,因为后置递减只有当表达式执行完毕后才会使值减去1


查看完整回答
反对 回复 2018-12-30
  • 1 回答
  • 0 关注
  • 503 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号