즉시 실행 함수 (immediate funtions)
CODEDRAGON ㆍDevelopment/JavaScript, jQuery, ...
반응형
즉시 실행 함수(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); })( ); |
특별한 인자 없이 즉시 실행함수를 호출합니다. |
'Development > JavaScript, jQuery, ...' 카테고리의 다른 글
function() 생성자 함수를 통한 함수 생성 (0) | 2022.01.28 |
---|---|
선언적 함수/익명 함수, ;(세미콜론) 사용 (0) | 2022.01.24 |
콜백함수 (callback function) (0) | 2022.01.24 |
자바스크립트 내장 함수 (0) | 2022.01.22 |
함수를 반환하는 함수와 클로저 (0) | 2022.01.22 |