달력

12

« 2019/12 »

  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  

'즉시 실행 함수 패턴'에 해당되는 글 2

  1. 즉시 실행 함수 (1)
  2. 즉시 실행 함수 (immediate funtions)

즉시 실행 함수(immediate funtions)

함수를 정의함과 동시에 바로 실행되는 함수

익명함수를 응용한 형태

즉시 실행함수는 한번 수행 후, 다시 호출할 수 없습니다.

이런, 특성으로 최초 한 번의 실행만을 필요로 하는 초기화 코드부분에 패턴으로 사용되어 집니다.

   

즉시 실행 함수 형식

( function( ) {

코드

})( )

괄호 ( ) 로 함수리터럴을 사용한 함수 정의 부분을 감쌉니다. 그런 다음 함수가 바로 호출될 수 있게 ( ) 괄호 쌍을 추가합니다.

   

즉시 실행 함수 패턴

라이브러리 코드가 처음 로드되어 초기화할 때, 즉시 실행 함수 패턴이 많이 사용되어 집니다.

라이브러리 코드를 즉시 실행 함수 내부에 정의하게 되면 라이브러리 내의 변수들은 함수 외부에서 접근할 수 없게 됩니다. 이렇게 함으로써 이후 다른 자바스크립트 라이브러리들을 동시에 로드하더라도 라이브러리간 변수 이름 충돌 같은 문제를 방지할 수 있습니다.

   

라이브러리

즉시 실행 함수

설명

jQuery 1.11.1

(function( global, factory ) {

…………….

})(window);

window를 즉시실행함수의 인자로 넘기며 호출합니다.

Underscore 1.3.3

(function(){

var root=this;

var previousUnderscore=root._;

…………….

}).call(this);

call함수를 this인자와 함께 사용하였습니다. 실행시 this가 즉시 실행함수 내부의 this에 연결되어 root라는 함수 내부 변수에 저장되어 사용되어 집니다.

Sugar 1.2

(function(){

………………

buildObject();

buildFunction();

initializeClass(date);

})( );

특별한 인자 없이 즉시 실행함수를 호출합니다.

   

   

소스 코드

<html>

<head>

<meta charset="UTF-8">

<title>즉시 실행 함수</title>

<script type="text/javascript">

(function (name) {

            document.write(name + ' 실행되었습니다.');

})('즉시실행함수');

</script>

</head>

<body>

</body>

</html>

   


   

출력 결과

('즉시실행함수')로 즉시 실행 함수를 호출 했으며, 이 때 '즉시실행함수' 라는 문자열을 인자로 념겨 호출하였습니다. 이 값은 즉시 실행 함수의 name매개 변수에 넘겨져서 출력되게 됩니다.

   

Posted by codedragon codedragon

댓글을 달아 주세요

  1. 준티 2017.02.12 13:48 신고  댓글주소  수정/삭제  댓글쓰기

    감사합니다~

   

즉시 실행 함수(immediate funtions)

함수를 정의함과 동시에 바로 실행되는 함수

익명함수를 응용한 형태

즉시 실행함수는 한번 수행 후, 다시 호출할 수 없습니다.

이런, 특성으로 최초 한 번의 실행만을 필요로 하는 초기화 코드부분에 패턴으로 사용되어 집니다.

   

즉시 실행 함수 형식

( function( ) {

코드

})( )

괄호 ( ) 로 함수리터럴을 사용한 함수 정의 부분을 감쌉니다. 그런 다음 함수가 바로 호출될 수 있게 ( ) 괄호 쌍을 추가합니다.

   

즉시 실행 함수 패턴

라이브러리 코드가 처음 로드되어 초기화할 때, 즉시 실행 함수 패턴이 많이 사용되어 집니다.

라이브러리 코드를 즉시 실행 함수 내부에 정의하게 되면 라이브러리 내의 변수들은 함수 외부에서 접근할 수 없게 됩니다. 이렇게 함으로써 이후 다른 자바스크립트 라이브러리들을 동시에 로드하더라도 라이브러리간 변수 이름 충돌 같은 문제를 방지할 수 있습니다.

   

라이브러리

즉시 실행 함수

설명

jQuery 1.11.1

(function( global, factory ) {

…………….

})(window);

window를 즉시실행함수의 인자로 넘기며 호출합니다.

Underscore 1.3.3

(function(){

var root=this;

var previousUnderscore=root._;

…………….

}).call(this);

call함수를 this인자와 함께 사용하였습니다. 실행시 this가 즉시 실행함수 내부의 this에 연결되어 root라는 함수 내부 변수에 저장되어 사용되어 집니다.

Sugar 1.2

(function(){

………………

buildObject();

buildFunction();

initializeClass(date);

})( );

특별한 인자 없이 즉시 실행함수를 호출합니다.

   

   

   

Posted by codedragon codedragon

댓글을 달아 주세요