JavaScript中的遞歸函數(shù)是一種自我調用的函數(shù),即在函數(shù)內部直接或間接地調用自身。遞歸函數(shù)的調用機制主要包括以下幾個方面:
下面是一個簡單的JavaScript遞歸函數(shù)示例,用于計算數(shù)字的階乘:
function factorial(n) {
// 基本情況:0! = 1 和 1! = 1
if (n === 0 || n === 1) {
return 1;
}
// 遞歸調用:n! = n * (n-1)!
return n * factorial(n - 1);
}
在這個示例中,factorial
函數(shù)首先檢查基本情況(n === 0
或n === 1
),如果滿足這些條件,則返回1。否則,函數(shù)將調用自身,并將n - 1
作為參數(shù)傳遞給它。每次遞歸調用都會使問題規(guī)模減小,直到達到基本情況。最終,函數(shù)將返回計算出的階乘值。