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이다.