til/Front
[JavaScript] 함수(function)
값진
2022. 6. 17. 10:59
JavaScript 함수 (function)
- 함수는 1급 객체이다. > 함수형 언어의 특징이다.
- 함수를 객체처럼 취급한다. > 함수를 값(데이터)처럼 취급할 수 있다.
* 따라서
- 함수를 변수나 데이터 구조에 담을 수 있다.(저장할 수 있다.)
- 함수를 매개변수에 전달할 수 있다.
- 함수를 반환값으로 사용할 수 있다.
정의
- 함수의 이름은 함수를 구분하는 식별자
- 매개변수를 통해 함수 호출시 인수로 전달된 값을 함수 내에서 사용
function minNum(a, b) {
document.write(a + b);
}
minNum(2, 3);
정의와 호출 예시
function addNum(a, b) {
return a + b;
}
var sum = addNum(3, 5);
유효 범위
- 블록({}) 을 기준으로 하는 유효 범위
- 자신이 정의된 범위 안에서 정의된 모든 변수 및 함수에 접근할 수 있다.
- 전역 함수는 모든 전역 변수와 전역함수에 접근할 수 있는 반면
- 다른 함수의 내부함수는 그 함수의 parent function에서 정의된 모든 변수 및 접근 가능한 다른 변수에도 접근 가능하다
//전역 변수로 선언
var x = 10, y = 20;
//sub()를 전역 함수로 선언
function sub() {
return x - y; // 전역 변수인 x, y에 접근함.
}
document.write(sub() + "<br>");
//전역 함수로 선언
function parentFunc() {
var x = 1, y = 2; //전역 변수의 범위를 제한
function add() { //내부 함수로 선언
return x + y; // 전역 변수가 아닌 지역 변수 x, y에 접근
}
return add();
}
document.write(parentFunc());
전역 함수에서 x - y의 값은 -10이고 내부 함수에서 x + y의 값은 3이다.