팀을위한 JavaScript 스타일 가이드를 작성하여 문서를보다 쉽게 구성하고 제공 할 수 있습니다. 그러나 나는 내 질문이 적용되는 작은 충돌에 부딪쳤다.
즉시 호출되는 익명의 JavaScript 함수를 호출해야합니다. 나는 그것을 단순히 “익명 함수”라고 부를 수 있다는 것을 알고 있지만, 그것이 즉시 호출된다는 사실을 강조하고 싶습니다.
예를 들면 다음과 같습니다.
var MyVariable = (function(data){
return "another value"
})("some value");
console.log(MyVariable);
// "another value"
답변
그들은 이미 Javascript 세계에서 그 용어를 가지고 있습니다. 이를 IIFE (Immediately Invoked Function Expressions)라고 합니다.
그것은 무엇인가
IIFE 기능에는 이름이 없습니다. 대신, 통역사가 그들을 만나면 한 번 실행됩니다.
var area = function() {
var width = 3;
var height = 2;
return width * height;
}();
최종 괄호 코드 블록의 닫는 중괄호 후 즉시 기능 식을 호출하는 인터프리터를 말한다.
당신이 작성하는 경우 함수 선언 은 추가해야합니다 사업자 그룹화 기능을 주위, 또는 괄호를 바로 호출 할 수있는 표현으로 기능을 처리하는 인터프리터에게 :
var area;
(function() {
var width = 3;
var height = 2;
area = width * height;
}());
그들이 사용될 때
IIFE는 반복적으로 호출되지 않고 작업 내에서 한 번만 실행하면되는 코드에 사용됩니다.
- 함수를 호출 할 때 인수로 사용 (값 계산 등)
- 속성 값을 객체에 할당합니다.
- 이벤트 핸들러 및 리스너에서.
- 동일한 변수 이름을 사용하는 두 스크립트 간의 충돌을 방지합니다. 변수 이름이 같은지 확실하지 않은 다른 스크립트에서 코드를 삭제하기 위해 래퍼로 사용할 수 있습니다.