函数的递归调用(重点、难点)
1、递归调用:函数自己调用自己(即在函数的函数体语句中调用自己)
2、递归算法:
(1)用递归方式解决问题的前提
a、问题可以进行分解,分解得到的新问题的解法与原问题的解法相同
b、问题的分解过程必须有明确的结束条件
(2)递归的过程
a、自上而下分解问题:得到最简单的问题的解
b、自下而上回溯得到原问题的解
3、代码实现:
//用递归函数计算 n! function fun(n){ //1.明确递归结束的条件 if(n==1){ return 1 }else{ //2.继续分解n return n * fun(n-1) //函数自己调用自己:在调用过程分解问题 } } let m = fun(5) console.log('5!=',m)