특정 목적의 작업을 수행하도록 설계된 독립적인 블록 (소스코드의 집합)
function 함수이름 (매개변수1, 매개변수2 ...) {
명령문
}
- 함수이름의 첫 글자는 영문, 달러($), 밑줄(_)만 사용 가능하다.
- 첫 글자 이외에는 영문, 달러($), 밑줄(_), 숫자만 사용 가능하다.
- 영문자의 대문자와 소문자는 구분된다. (a와 A는 서로 다른 변수)
- 자바스크립트의 예약어는 사용 불가하다. (e.g. const, let 등)
- 공백 문자는 포함할 수 없다.
function sum (a, b) {
console.log(a + b);
}
sum(10, 20); // 30
function addNumber() {
var sum = 1 + 3;
console.log(sum);
}
addNumber(); // 30
- 함수 선언 : 해당 함수가 어떤 명령을 처리하는지 미리 알려주는 것
함수 선언의 위치는 프로그램 흐름에 영향을 주지 않기 때문에 개발자가 원하는 어느 곳이던 선언이 가능
- 함수 실행 : 선언된 함수를 가져와 사용하는 것
지역 변수와 전역 변수
- 지역 변수 (Local Variable)
하나의 함수 내부에서 선언된 변수, 변수의 유효범위가 함수 내부로 제한
- 전역 변수 (Global Variable)
함수 외부에서 선언된 변수, 스크립트 소스 전체 및 함수의 내부에서도 접근(사용, 변경)이 가능
하지만 동일한 이름을 가진 변수가 함수 내부에서 재선언 될 경우, 내부에서 재선언 된 변수에만 접근 가능
var local = 10; // 전역 변수 선언
test();
document.write("local is " + local);
function test() {
var local = 20; // 지역 변수 선언
}
매개변수와 인자
- 매개변수 (Parameter) : 함수를 정의할 때 작성하는 필요 인자
- 인자 (Argument) : 함수를 호출할 때 전달하는 값
function sum(a, b) {
console.log(a + b);
}
sum(10 + 20);
> 30
- 매개변수 기본값 지정 (Default Function Parameter)
- 지역 변수 (Arguments)
- 나머지 인자 (Rest Parameter)