본문 바로가기

Javascript

자바스크립트 기초(함수)

1. 함수란 무엇인가?

: 함수(function)란 하나의 특별한 목적의 작업을 수행하도록 설계된 독립적인 블록을 의미한다.

이러한 함수는 필요할 때마다 호출하여 해당 작업을 반복해서 수행할 수 있다.

 

2. 함수 문법

function 함수이름(매개변수1, 매개변수2,...) {

    함수가 호출되었을 때 실행하고자 하는 실행문;

}

 

ex)

// addNum라는 이름의 함수를 정의함.

function addNum(x, y) {    // x, y는 이 함수의 매개변수임.

    document.write(x + y);

}

addNum(2, 3);              // addNum() 함수에 인수로 2와 3을 전달하여 호출함.

 

 

3. 함수 사용할 때 주의할 점

 
1) 함수 하나당 기능 하나임
2) 함수명은 반드시 그 기능을 나타내야 함
3) 함수명 지을 때는 동사가 제일 앞으로 와야 
4) 중복 코드 관리
5) 비슷한 기능을 수행하는 함수의 경우 여러 개로 만드는 것보다 추상적으로 하나만 작성해야 함
 
 

 

4. 반환(return)문

- 자바스크립트에서 함수는 반환(return)문을 포함할 수 있다.

- 이러한 반환문을 통해 호출자는 함수에서 실행된 결과를 전달받을 수 있다.

 

- 반환문은 함수의 실행을 중단하고, return 키워드 다음에 명시된 표현식의 값을 호출자에게 반환한다.

반환문은 배열이나 객체를 포함한 모든 타입의 값을 반환할 수 있다.

 
ex)
function multiNum(x, y) {

    return x * y;         // x와 y를 곱한 결과를 반환함.

}

var num = multiNum(3, 4); // multiNum() 함수가 호출된 후, 그 반환값이 변수 num에 저장됨.

document.write(num);

 

 

5. 콜백함수(Callback Function)

: 사용자가 호출하는 것이 아니라, 컴퓨터가 호출해 주는 함수이다.

 

ex)

function whatYourName(name, callback) {
    console.log('name: ', name);
    callback();
}

function finishFunc() {
    console.log('finish function');
}

whatYourName('miniddo', finishFunc);

<output>
name: miniddo
finish function

 

 

6. 함수 오버로딩(Function Overloading)

: 같은 함수명이라도 매개변수가 다르면 그에 따른 함수를 호출하는 기능이다.

원래 자바스크립트에서는 해당 기능이 없지만 비슷하게 구현이 가능하다.

 

ex)

function showSomething(param1, param2, param3) {
    console.log(`Arguments Count : ${arguments.length}`);
    switch(arguments.length) {
        case 1: console.log("param1"); break;
        case 2: console.log("param1 param2"); break;
    }
}
showSomething("a", "b", "c"); // Output -> Argument Count : 3