본문 바로가기
javascript

즉시실행함수

by 신방동불주먹 2022. 11. 15.
  • 지역함수 선언에 효과적
  • 같은 이름의 변수 또는 함수의 충돌을 막을 수 있다
  • 일회용 함수

 

형식

 

1. 자동호출함수 

  • 호출시점에 바로 매개변수 x값을 넣어준다.
  • 마지막 괄호 () 안에 작성
(function(x){
            console.log(x*x); //2*2=4
        }(2));

 

2. 함수명 지정해서 사용

 

  • 마지막 괄호 밖에 () 작성
(mySquare = function(x){
        console.log(x*x);
 })(3);

mySquare(4);

 

3. 리턴값을 받는 변수

var mySquare = (function(x){
       return x*x;
 })(5);

console.log(mySquare);

 

예시)

      (function(){
        var num=100;
        function menu(){
            num += 100;
            alert(num);
        }
        menu();
      }());

      (function(){
        var num=100;
        function menu(){
            alert(num);
        }
      }());

 

 

  • 함수 스코프에 선언된 함수는 지역 함수가 되어 함수 스코프에서만 호출 가능
  • 즉 함수 스코프 외부의 같은 이름을 가진 함수를 호출하면 외부의 전역 함수가 실행된다.
  • 클로저 : 클로저는 반환된 내부함수가 자신이 선언됐을 때의 환경(Lexical Enviroment)인 스코프를 기억해 자신이 선언됐을 때의 환경(스코프) 밖에서 호출되어도 그 환경(스코프)에 접근할 수 있는 함수