# 내부함수(스코프)

### 전역변수와 지역변수의 개념과 차이

전역 변수는 자바스크립트 어디에서든 사용할 수 있는 변수이고, 지역 변수는 함수 스코프에서만 사용할 수 있는 변수입니다. &#x20;

```javascript
let score = 10; //전역 변수

function func1(){
    //let score = 50; //지역 변수
    score = 50; //전역변수 10 -> 50 변경
    document.write("func1 score :" + score, "<br>");
}
func1();
document.write(score);
```

### 전역 함수와 지역 함수의 차이

전역 함수는 자바스크립트 어디에서든 사용할 수 있는 함수이고, 지역함수는 함수 스코프에서 만 사용할 수  있는 함수입니다.&#x20;

```javascript
function func1(){
    document.write("전역 함수");
}
function outFun2(){
    function innerFunc2(){
        document.write("지역 함수");
    }
    innerFunc2(); // 지역 함수
}
outFun2();
func1(); // 전역 함수
```

### 즉시 실행 함수

함수를 선언과 동시에 함수를 호출시켜주는 방법

> (function() {\
> &#x20;  //자바스크립트 실행 코드\
> }());

```javascript
(function(){
    let num = 100;
    function menu(){
        num += 100;
        document.write(num);
    }
    menu)();
}());

//200출력
```
