# 재귀 함수

## 재귀함수

재귀함수는 함수 정의문 내에 함수를 다시 호출하여 함수를 반복문처럼 사용할 때 사용합니다.

> function 함수이름(){\
> &#x20;   //실행코드\
> &#x20;   함수이름();\
> }\
> 함수이름();  //함수호출

## 샘플 1

```javascript
function func2(num){
    if( num == 0 ){
        document.write("함수가 종료되었습니다.");  
    } else {
        document.write("함수가 실행되었습니다."); 
        func2( num-1 );
    }
}
func2(20);

//함수가 실행되었습니다.*20
//함수가 종료되었습니다.
```

## 샘플 2

```javascript
let num = 0;
function testFnc(){
    num++;
    document.write(num,"<br>");
    if( num == 10 )
    return;

    testFnc();
}
testFnc();

/*
1
2
3
4
5
6
7
8
9
10
*/
```
