### JavaScript Function
- 객체 자료형 중 하나
- 하나의 값처럼 취급해 변수에 할당 가능
- C, Java와는 달리 함수 명은 선택사항이므로 함수명 없이 생성 가능(익명 함수)
## 익명함수
- function() {}와 같이 함수 형태이나, 이름이 없음
- 이름이 없어 변수에 할당해 사용
- 중괄호 안에 함수가 처리할 코드 기술
- 함수의 재정의가 가능, 호출 시 최종적으로 할당된 함수가 호출됨
var 변수명 = function() {};의 형태 : 함수 표현식
## 선언적함수
- 일반적으로 함수를 만드는 방식으로 함수명 존재
- 익명 함수와 같이 중괄호 안에 함수가 처리할 코드 기술
- 함수의 재정의가 가능함, 호출 시 최종적으로 할당된 함수가 호출됨
## 익명함수 vs 선언적함수
1. 실행순서
- 익명 함수 : <script> 태그 내부의 내용을 위에서 아래로 읽어 해석
- 선언적 함수 : 다른 내용을 읽고 해석하기 전에 먼저 읽고 해석
## 매개변수
- 함수에서 정의된 매개변수보다 많이 사용 시 추가적인 매개변수는 무시
- 함수에서 정의된 매개변수보다 적게 사용 시, 부족한 매개변수 'undefined' 입력
## 가변 인자 함수
- 매개변수의 개수가 변할 수 있음
- 정의된 것과 달리 입력된 매개 변수를 모두 활용 가능
- 모든 함수는 매개변수를 arguments 배열에 저장
## 내부 함수
- 함수 안에 함수를 정의
- 협업 과정에서 발생하는 함수명 충돌을 방지할 수 있으나, 미리 함수명을 합의보는 게 효율적
- 외부 함수 내에서 내부 함수가 다른 외부 함수보다 우선
- 함수 내부 정의된 변수는 이를 포함하는 외부 함수만 가능
- 외부 함수의 변수 접근 가능
- 내부함수는 외부함수의 복사본이 아닌 실제 함수의 문맥에 접근함
## 자기 호출 함수
- 다른 개발자에게 영향 주지 않기 위해 활용할 수 있음
- 생성 동시에 실행됨
- 다시 호출 불가
- 최초 한 번의 실행만을 필요로 하는 초기화 부분에 사용
## 콜백 함수
- 객체 자료형으로 사용되는 함수이므로 이를 매개변수로 사용 가능
- 함수를 매개변수로 전달하는 함수
* 클로저
- 종료된 외부 함수의 변수를 참조하는 함수
- 지역 변수를 남겨두는 현상
- 지역변수
'Computer Science > Web' 카테고리의 다른 글
API] 다음 우편번호 API 사용하기 (0) | 2017.02.06 |
---|---|
Javascript] BOM(Browser Object Model) (36) | 2017.01.21 |
Javascript] 내장 객체(Built-in Object) (0) | 2017.01.19 |
Javascript] Object(객체) (0) | 2017.01.18 |
Javascript] DOM(Document Object Model) (0) | 2017.01.17 |