老师不太明白递归调用自身的问题

来源:4-1 什么是递归

weixin_慕移动6442865

2020-10-17 11:24:06

不太明白为什么这里可以重复调用自身return numfactorial(num-1),还有函数里面是如何递归计算出4的阶乘是24的。
function factorial(num){
if(num==1) return 1
return num
factorial(num-1)//不明白这里调用自身和递归计算的模式,为何我传入4会从2的阶乘到3的阶乘最后得出4的阶乘。虽然课件里讲解了道理,但是看不懂这一个简单的语句就能计算。
}
console.log(factorial(4))

写回答

3回答

好帮手慕慕子

2020-10-17

同学你好,关于这个式子, 老师帮助同学简单分析了下具体的运算过程,具体可以下图理解:

http://img.mukewang.com/climg/5f8a93a20991636911650471.jpg

祝学习愉快~

0

好帮手慕慕子

2020-10-17

同学你好,能够自己发现并解决问题,真棒!!!!祝学习愉快~

0
heixin_慕移动6442865
h 老师有个问题还是要问下,num*factorial(num-1)这一句话为什么会让num从4变到3直到1呢?这里如果是返回factorial(num-1)我还能理解,加了个num乘以factorial(num-1)就不太明白
h020-10-17
共1条回复

weixin_慕移动6442865

提问者

2020-10-17

以解决,通过debugger了解了。

http://img.mukewang.com/climg/5f8a656c0842f4b804480206.jpg

http://img.mukewang.com/climg/5f8a656c0891a60703340382.jpg


0

0 学习 · 15276 问题

查看课程