재귀함수는 어떤 함수 내부에서 다시 자기 자신을 부르는 함수를 의미합니다
반복문을 돌리듯 함수를 계속 시행하다가 특정조건이 되면 빠져나오는 함수입니다
function apple(){
...
apple()
...
}
재귀함수를 만들 때에는 반드시 함수를 종료하는 조건을 만들어주어야합니다
대표적으로 팩토리얼 함수를 재귀함수로 볼 수 있습니다
function factorial(n) {
if (n <= 1) return 1;
return n * factorial(n - 1);
}
factorial(3); // 6
factorial함수 안에서 factorial()을 실행시켜주어
3 곱하기 2 곱하기 1 최종 6의 결과를 얻는 함수입니다
function factorial(n) {
var result = 1;
for (n; n > 1; n--) {
result *= n
}
return result;
}
factorial(3); // 6
재귀함수를 for문으로 나타내면 이러합니다