• Home
  • About
    • ming photo

      ming

      studying

    • Learn More
    • Twitter
    • Facebook
    • Instagram
    • Github
    • Steam
  • Archive
    • All Posts
    • All Tags
    • All categories
  • categories
    • HTML+CSS+JavaScript
    • JAVA
    • Algorithm
    • DB
    • JSP
    • 정보처리기사
    • Spring
    • Thymeleaf
    • 기술면접
  • Projects

함수종류-클로져

27 Jan 2021

함수 종류

  • 명시적 함수 : 이름이 명시되어 있는 함수

    function myFunctiion(){};
    
  • 익명(Anonymous)함수 : 이름이 없는 함수

    fuction(){};
    

    EX)

    document.querySelector().addEventListener('click', function(){});
    $().on('click', function(){}); => 주로 함수의 매개변수 형태로 함수를 정의할 때 사용한다 -------------------------- #### 사용형식  
    
  • 즉시실행 함수 : 함수 정의와 실행이 동시에 이루어진다 => 호출 없이 바로 사용된다

    (function(){})();
    
  • 리터럴 함수(함수 리터럴) : 함수를 변수에 할당하는 형식으로 정의한다 (** 리터럴 : 변수에 할당할 수 있는 값들)

    let myFunction = function(){} 
    
  • 화살표 함수

    let myFunction = () => {} -------------------------- #### 내부함수
    
  • 내부(inner) 함수 : 함수(외부함수) 내부에 함수가 정의된다 -> 외부함수의 지역변수에 접근 할 수 있다 -> 함수 이름이 중복되는 것을 방지

    EX)

    function outer(){
     let a = 0;
      function inner(){
        a += 1;
      }
    } --------------------------
    

this

  • this : 자신이 속한 객체(개체)를 참조한다

new

  • new : 내장 객체 타입의 인스턴스를 생성한다

클로져

  • 클로져 : 내부 함수를 반환값(return)으로 사용하는 특수한 함수 => 변수에 함수를 할당하는 형태 => 함수의 지역변수가 사라지지 않고 남아있게 된다 -> 자유변수 => let은 일반코드 블럭에서도 지역변수로 작동하기 때문에 글로져 개념을 도입할 수 있다


Share Tweet +1