자기 자신을 호출하는 함수를 재귀 함수라고 한다.
가장 유명한 팩토리얼 재귀함수
function factorial(n){
if(n <= 1) return 1;
return factorial(n-1)*n
}
console.log(factorial(3)); //6
재귀 함수를 정의할 땐 2가지 주의점이 있다.
1. 재귀는 유한해야 한다.
2. 너무 많이 호출 시 메모리 부담이 많으며 스택오버플로우가 된다.
몇 가지 예를 더 살펴보자
하노이의 탑
function hanoi(n, a, b, c){
if(n < 1) return ;
hanoi(n-1, a, c, b);
console.log(a + '를' +c+"쪽으로 이동");
hanoi(n-1, b, a, c);
}
'갬발자의 프로그래밍 > Javascript' 카테고리의 다른 글
유용팁 (0) | 2020.03.26 |
---|---|
closure(클로저) (0) | 2020.01.13 |
배열 (0) | 2020.01.09 |
객체 (0) | 2020.01.08 |
템플릿과 symbol 알아보기 (0) | 2020.01.05 |
댓글