JavaScript處理遞迴事件「Recursion」:
在解決問題的過程中,我們可以思考變數的運算關係,
而遞迴的概念是在函式中再次呼叫函式自己,進而達到重複執行函式的計算。
ex. 下方試著將「n!階乘:n * (n – 1)」的過程透過遞迴函式來呈現,
需注意數值得退場機制,否則將有可能導致「無窮迴圈」。
function factorial(n) {
if (n === 1) return 1;
return n * factorial(n - 1);
}
console.log(factorial(3)); //6
flow chart:
3 * (3 - 1)
3 * 2 * (2 - 1)
3 * 2 * 1
//6
參考資料來源:JavaScript mdn