728x90
반응형

 

함수

: 프로그램에서 반복적으로 사용되는 기능별로 다양한 여러 개의 명령을 묶어놓은 코드들의 집합.

 

 

종류

분류 종류 설명
사용자 정의 함수 -선언적 함수
-익명 함수
프로그램에서 필요한 기능을 사용자가 직접 정의해서 사용하는 함수
내장 함수 -인코딩, 디코딩 함수 
-숫자 판별 함수 
-유 · 무한 값 판별 함수
-숫자 변환 함수
-문자 변환 함수
-자바스크립트 코드 변경 함수
프로그램 개발에서 자주 사용되는 기능들을 자바스크립트 내부적으로 제공해주는 함수

 

 

 

함수의 선언과 호출

선언

: function이라는 예약어를 사용하여 함수 이름을 적은 후, 중괄호 { } 안에 실행할 여러 개의 명령을 묶어주는 것

function 함수명 ( ) {
      명령(들)
}

 

호출

: 미리 선언해 놓은 함수를 실행할 때 함수 이름을 사용하는 것.

함수명 (    )

 

 

 

선언적 함수

형식

:

function 함수  (   ) {
     실행문;
}

 

 

호출

:선언적 함수는 함수를 호출할 때 앞 또는 뒤에서 호출 가능함.

function 함수 ( ) {
      실행문;
}

 

ex)

좌 함수의 뒤에서 호출 우 함수의 앞에서 호출

변수나 함수를 선언하지 않고 호출하였을 때 에러가 발생하는 것이 맞지만,[각주:1] var로 선언한 변수와 선언적 함수는 선언 이전에 호출하여도 에러를 발생시키지 않음.

이를 호이스팅[각주:2]이라고 함.

 

 

 

익명 함수 

:변수에 함수 데이터를 저장하여 변수를 마치 함수처럼 사용할 수 있도록 만들어줌.

 

형식 

:

var or const 변수  =  function (  ) {
       실행문;
}

 

호출

: 선언적 변수와 다르게 반드시 변수 선언 이후에 호출해야 함.

var or const = function (   ) {
         console.log  or  document.write ('익명 함수');

};
function (  );  <= 아래에서 호출함.

 

ex)

 

 

익명 함수 중에는 필요에 따라 일회성으로 사용되는 함수가 존재. [각주:3]

선언과 동시에 함수가 실행되며, 함수명이 없기 때문에 재호출이 불가능함.

보통 처음 한 번만 실행하는 초기화 코드에 사용됨.

[각주:4]

 

 

 

매개변수 함수

:함수를 호출할 때  전달하는 변수를 가리키기도 하고, 함수를 선언할 때 외부에서 값을 받는 변수를 가리키는 말이기도 함.

흔히 'a는 b와 c 를 연결해주는 역할을 한다'는 뜻인 '매개체'를 생각하고 이해하는 것이 편함.

함수 이름 옆의 소괄호 ( ) 안에 매개변수 이름을 넣어주어 사용할 수 있으며, 이름을 붙이는 방법은 변수 이름을 붙이는 방법과 같음.

선언 된 함수에서만 사용하며, 여러 개의 매개변수를 나열할 때에는 "," (쉼표)로 구분함.

 

형식

:

function 함수명 (매개변수 1, 매개변수2 ·····) {
         실행문; 
        }

함수명 (매개변수1 값, 매개변수 2 값·····);

 

ex)

 

 

 

 

return 함수

:함수를 통해 처리된 결과를 반환시켜주는 명령어.

함수에서 실행한 후 결과까지 처리할 수도 있지만, 함수의 실행 결과를 받아 또 다시 처리해야 하는 경우도 많음.

이 경우, 함수의 실행 결과를 다시 함수를 실행한 시점으로 넘겨주어야 하는데 이것을 '함숫값을 반환한다'고 함.

함수의 결괏값을 반환할 때에는 return 다음에 넘겨줄 값이나 변수를 지정하면 됨.

 

 

형식

:

function 함수명(   ) {
       실행문;
       return;
}

 

ex)

 

 

 

화살표 함수

:ECMA Script (2015)에 추가된 내용으로  부등호(=>)를 이용하여 함수를 간결하게 표현할 때 사용.

function 키워드를 생략하고 합쳐진 부등호(=,>)을 합쳐 사용하며 항상 익명 함수 형식으로 표현함.

단일 명령문일 경우에는 함수의 중괄호 { }와 return을 생략할 수 있음.

 

ex)

 

좌 선언적 함수 (화살표ver) 우 익명함수 (화살표 ver)
좌 매개변수함수 (화살표ver) 우 리턴값 함수 (화살표 ver)

 

 

 

 

 

 

  1. 자바스크립트는 인터프리터 언어이기 때문에 보통은 순서대로 읽어들이기 때문에 선언하지 않고 호출하면 에러가 발생함. [본문으로]
  2. 끌어 올리기 [본문으로]
  3. 즉시 실행 함수 [본문으로]
  4. 형식은 

    (function (  ) {
          실행문;
    })  (   );

    이다.  보다시피 함수명이 존재하지 않음.

    [본문으로]

+ Recent posts