본문 바로가기
JS

함수

by 개발자doc 2024. 4. 19.
목차
1. 함수란?
2. 함수의 종류

1. 함수란?
  • 특정 기능을 수행하는 코드를 묶어 필요할 때마다 사용할 수 있도록 한 코드블록
  • 매개변수를 통해 인자값을 전달 받을 수 있다.
//문법
//1. 함수 선언
function 함수이름(매개변수1,매개변수2){
    //실행할 코드 
} 

//2. 함수 호출
함수이름(인자값1,인자값2);


function sum(number1,number2){
    console.log(number1+"+"+number2+"=",number1+number2);
}

sum(1,2);

/*
    결과값
    1+2=3
*/

함수는 특정 기능을 하는 코드를 분리하여 재사용을 가능하게 하여 필요할 때 호출해 사용할 수 있다. 함수는 외부에서 데이터를 전달받는 매개변수를 가질 수 있으며 그 개수는 필요한만큼 지정할 수 있다. 매개변수를 통해 전달받은 데이터는 연산이나 특정 기능에 사용할 수 있다.

함수를 선언한다고 해서 자동으로 수행하는 것은 아니고 필요한 위치에서 호출하여 사용한다. 호출을 할 때는 함수 내에서 사용할 수 있는 데이터인 인자값을 추가해줄 수 있다. 

함수 호출시 전달되는 인자값의 순서에 따라 매개변수가 값을 전달받을 수 있으며 전달되는 인자값이 매개변수의 수보다 작으면 나머지 매개변수는 undefind로 초기화되고 인자값이 매개변수보다 많으면 값을 전달받을 매개변수가 없으므로 데이터는 소멸된다.

//인자값이 매개변수보다 적은 경우
function print(num1,num2){
    //num2에 전달되는 인자값이 없어 num2는 undefind로 자동 초기화
    console.log('매개변수의 num1의 값 : '+num1);
    console.log('매개변수의 num2의 값 : '+num2);
}
print(1);
/*
    결과
    매개변수의 num1의 값 : 1
    매개변수의 num2의 값 : undefind
*/

function print2(num1,num2){
    //인자값 3을 받을 매개변수가 없어 3은 소멸
    console.log('매개변수의 num1의 값 : '+num1);
    console.log('매개변수의 num2의 값 : '+num2);
}
print(1,2,3);
/*
    결과
    매개변수의 num1의 값 : 1
    매개변수의 num2의 값 : 2
*/
2. 함수의 종류

 1) 일반함수

  •    function 키워드를 통해 만들어진 이름을 가진 함수
//함수 선언
function fn1(){
    //실행할 코드
}
//함수 호출
fn1();

 

 2) 익명함수

  • 이름이 없는 함수
let fn1 = function(){
    //실행할 코드
}

fn1();

함수에 직접적인 이름이 없기에 익명함수라고 불리며 호출하려면 함수값을 가진 변수를 통해 함수를 호출하면 된다. 주로 1회성으로 사용하여 메모리를 절약하기 위해 사용된다.

 

 3) 즉시 실행 함수

  •  따로 호출하는 구문없이 선언과 동시에 실행을 하는 함수
(function (str) {
    console.log(str);
}("즉시실행"));

함수가 바로 호출되게 ()를 작성해주고 인자값이 필요하면 추가해줄 수 있다. 보안을 위해 변수를 전역으로 선언하는 것을 막거나 특정 값을 초기화 하기 위해 사용된다.

 

 4) 중첩 함수

  • 함수 내에 정의되는 함수 
function fn1(){
    function fn2(){
        //실행할 함수    
    }
}

함수 내에 선언된 함수로 호출을 하기 위해서는 fn1내에서 호출을 따로 진행해주어야 한다. 스코프의 영향으로 내부에 있는 변수들을 참조할 수 있다.

'JS' 카테고리의 다른 글

콜백함수  (0) 2024.04.21
배열  (0) 2024.04.20
반복문  (2) 2024.04.18
Js의 조건문  (0) 2024.04.17
데이터를 담는 그릇! 변수  (0) 2024.04.16