js 遞迴函式

2021-08-19 19:53:14 字數 805 閱讀 6959

定義:如果乙個函式在內部呼叫自身本身,這個函式就是遞迴函式。

舉例說明:

1.求n的階乘(

n! = 1 x 2 x 3 x ... x n

)function factorial (n)

return n * factorial(n-1);  

}console.log(

factorial(5)

) ===> factorial(5)

===> 5 * factorial(4)

===> 5 * (4 * factorial(3))

===> 5 * (4 * (3 * factorial(2)))

===> 5 * (4 * (3 * (2 * factorial(1))))

===> 5 * (4 * (3 * (2 * 1)))

2.求斐波那契數列的第n項(

斐波那契數列:1,1,2,3,5,8,13,21。。。即後一項的值為前兩項的和

)function fibonacci(n)

return fibonacci(n-1) + fibonacci(n-2);

}console.log(fibonacci(4))

===>

fibonacci(4)

===> fibonacci(3)

+fibonacci(2)

===> (fibonacci(2)

+fibonacci(1) )+ (1+1

)===> (1+1)+1+(

1+1)

遞迴函式的優點就是邏輯清晰,但需要注意防止棧溢位。

js函式遞迴

一 遞迴函式概念 自己呼叫自己。二 知識說明 function func func 三 函式 變數 用遞迴來求5的階乘 function func n return n func n 1 console.log func 5 三 函式 函式 斐波拉契題 兔子生兔子題目 從出生後第3個月起每個月都生一...

js函式遞迴

一 知識說明 function fun fun 二 函式 變數 用遞迴 來求 5 的階乘 n n n 1 定義乙個函式,用於求 n 的階乘 function func n func n 1 因為傳遞的引數是 n 1,那麼就是求 n 1 的階乘 return n func n 1 console.lo...

JS 遞迴函式

函式內部呼叫自己,就是遞迴函式 注意 一定要加退出條件,不然就會死迴圈 例一 利用遞迴求1 n的階乘1 2 3 4 n 此 如果拆開解析就是,可以看到fn 函式多次自己呼叫自己,直到條件滿足 function fn n return n fn n 1 console.log fn 5 此遞迴函式進行...