定義:如果乙個函式在內部呼叫自身本身,這個函式就是遞迴函式。
舉例說明:
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 此遞迴函式進行...