함수 (function)
자주 쓰는 실행코드들을 블록 단위로 묶어서 패키징 해놓은 형태
자주 쓰는 코드들을 기능단위로 재사용하기 위함
함수정의
: 미리 function 키워드를 이용해서 자주 쓸 코드들을 묶어서 정의하는 행위
함수호출
: 정의되어 있는 함수를 호출해야지만 기능이 실행됨
함수의 종류
1. 선언적 함수
- 함수에 미리 이름을 붙여서 정의해놓은 형태
- 자바스크립트 파일을 읽을 때 선언적함수를 우선적으로 읽어줌
- 선언적 함수는 호출위치가 자유로움
2. 익명함수
- 함수에 이름 없이 정의하는 형태
- 익명함수 자체만으로는 호출이 불가능
- 변수에 익명함수를 대입하거나(대입형) 특정 이벤트 객체에 대입하는 식으로 호출 가능
3. 대입형함수
4. 즉시실행함수
- 함수가 자기자신을 정의하자마자 바로 자신을 호출
- 즉시실행함수를 쓰는 이유
- 즉시실행함수 안쪽의 값들을 캡슐화
5. 화살표 함수
- 기존의 익명함수를 좀 더 쓰기 편하게 축약한 형태
- 내부로 전달되는 파라미터가 하나면 괄호는 생략 가능
- 코드블록 안에서 실행되는 코드가 한줄이면 코드블록 괄호도 생략 가능
(1) 함수 매개변수 (parameter)
: 함수외부에서 함수 내부로 특정 값을 전달하기 위한 통로 이름
(2) 인수 (argument)
: 함수를 호출할 때 파라미터를 통해서 전달되는 값
(3) 반환값 (return)
: 함수 내부에서 만들어진 값을 함수 호출 시 외부로 반환
: 함수구문 실행 도중 특정 시점에서 강제로 코드가 실행 중단될 때